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时,当索引中第一个字段值相等时,才会根据索引中第二个字段的值排序。所以范围查询时,首先获取了满足第一个字段的范围值,在这个范围值中,第二个字段是无序的。所以当第一个字段使用了范围查询之后,第二个字段就无法使用索引了。
联合索引桥
覆盖索引(查询的数据列已经包含在索引中)
回表:通过辅助索引找到聚集索引的键值,再去通过聚集索引命中目标
网友评论