美文网首页
mysql相关

mysql相关

作者: 静心安分读书 | 来源:发表于2019-05-22 15:22 被阅读0次

    19.12.29
    mysql 查询语句,执行一次会缓存,第二次执行相同语句会从缓存取数据,而不是真实的去数据库取数据。
    比如第一次查询5s,第二次查询可能就是500ms。
    缓存策略:
    缓存时间: 在query_cache_size没用完之前是不会淘汰旧的缓存的.
    以下情况会导致对应表的查询缓存立即失效: (MyISAM和InnoDB引擎差不多)
    (1). insert写入数据
    (2). update更新数据
    (3). delete删除数据
    淘汰算法: 使用的是FIFO

    参考:https://www.oschina.net/question/554525_132387?sort=default

    19.11.17
    group by 与 order by
    一定是先分组再排序,没有说先排序再分组的,不合理,也白排序了。

    19.7.15
    MySQL中varchar最大长度是多少?
    5.0版本以上,varchar(20),指的是20字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放20个,最大大小是65532字节
    :被问到一个问题:MySQL中varchar最大长度是多少?这不是一个固定的数字。
    65535并不是一个很精确的上限,可以继续缩小这个上限。65535个字节包括所有字段的长度,变长字段的长度标识(每个变长字段额外使用1或者2个字节记录实际数据长度)、NULL标识位的累计。
    NULL标识位,如果varchar字段定义中带有default null允许列空,则需要需要1bit来标识,每8个bits的标识组成一个字段。一张表中存在N个varchar字段,那么需要(N+7)/8 (取整)bytes存储所有的NULL标识位。
    varchar到底能存多少个字符?这与使用的字符集相关,latin1、gbk、utf8编码存放一个字符分别需要占1、2、3个字节。

    很多时候我们设置varchar(255)都习以为常了,甚至我还遇到过有人以为varchar不能设置超过255的人。其实varchar没有明确最大长度,然后有人说那65535字节(bytes)不是吗?

    但是事实上如果你用的 utf8 编码的话按理最大可以设置到 varchar(21845),但是其实一般都会说你超出。

    版权声明:本文为博主原创文章,转载请附上博文链接!
    参考这篇不错:https://www.cnblogs.com/gomysql/p/3615897.html
    https://blog.csdn.net/w790634493/article/details/80650611

    19.6.13
    Mysql中tinyint(1)和tinyint(4)到底有什么区别?
    tinyint存储只是用一个字节,就是8位,只能存储2^8个数字,也就是256个数字,在mysql实现中,有符号是-128-127,无符号是0-255。
    tinyint后面的括号带的数字,以后称之为M,和存贮的值没有任何关系,只是在某些情况下和显示的宽度有关系
    ps:因为与显示宽度有关系,所以M写到最大的4就可以了。一般默认写成4就可以了。
    来源:https://my.oschina.net/DavidRicardo/blog/869169

    19.5.22
    1、命令行登录命令,密码-p与密码直接没有空格。
    mysql -h localhost -P port -u root -ppassword
    2、改密码
    https://www.cnblogs.com/benbenzhu/p/5578162.html

    相关文章

      网友评论

          本文标题:mysql相关

          本文链接:https://www.haomeiwen.com/subject/qrmyzqtx.html