美文网首页
MYSQL随笔

MYSQL随笔

作者: 就叫basi | 来源:发表于2020-09-04 15:46 被阅读0次

    version--5.7

    • max_connections (允许的最大同时客户端连接数)

    Default Value : 151
    Minimum Value : 1
    Maximum Value : 100000

    • max_allowed_packet(允许的最大客户端和服务端发送的字节数 )

    使用ParperdStatement批量操作时,数据包会在缓冲区积攒到达一定的值,才会发送一次

    Default Value :4194304
    Minimum Value :1024
    Maximum Value :1073741824

    • SHOW VARIABLES LIKE 'query_cache%';(查询缓存。5.7默认缓存关闭)

    • 一条sql的执行流程


    解析器:词法分析针对关键字,语法分析针对sql句型写法
    语义分析针对sql是否有不存在或者错误的字段和表,得到语法树
    优化器:计算成本最小的执行计划
    执行器:选择存储引擎执行执行计划

    • SHOW VARIABLES LIKE 'innodb_buffer_pool%';(查看innodb内存缓冲区;单位:byte)


    The buffer pool has a default size of 128MB
    缓冲池大小必须始终等于innodb_buffer_pool_chunk_size* 或* 的倍数 innodb_buffer_pool_instances。如果配置 innodb_buffer_pool_size为不等于innodb_buffer_pool_chunk_size* 或 * innodb_buffer_pool_instances的值,则缓冲池大小将自动调整为等于innodb_buffer_pool_chunk_size* 或 *的值 innodb_buffer_pool_instances
    • 先写到redolog中在写到磁盘比直接写到磁盘数据要快!前者是顺序io,后者是随机io;并且保证了持久性

    • B+Tree数据存储

    非叶子结点只存储键值和子节点地址信息
    叶子结点存储磁盘数据
    每一个节点存放的关键字:N
    度(Degree,节点拥有的子树数量):N

    • 主键索引一定是聚集索引

    • 聚集索引不一定是主键索引,如下:

    primary key
    not null unique key
    row id

    • 辅助索引叶子结点存储的是主键的键值

    • 索引创建原则

    联合索引的最左匹配原则

    重点要的是将区分度高的字段放在前面,区分度低的字段放后面。
    特例:在遇到范围查询的时候,最左匹配原则就会停止匹配。因为创建B+Tree时,当索引中第一个字段值相等时,才会根据索引中第二个字段的值排序。所以范围查询时,首先获取了满足第一个字段的范围值,在这个范围值中,第二个字段是无序的。所以当第一个字段使用了范围查询之后,第二个字段就无法使用索引了。


    联合索引桥

    覆盖索引(查询的数据列已经包含在索引中)

    回表:通过辅助索引找到聚集索引的键值,再去通过聚集索引命中目标

    相关文章

      网友评论

          本文标题:MYSQL随笔

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