数据库索引
一般数据量少的情况下,数据加载到内存后进行全表扫描。数据量一大必须加索引(字典)。
能把该记录限定在一定查找范围内的字段。主键、唯一键。
生成索引,建立二叉查找树进行二分查找,
生成索引,建立B-Tree,B+-Tree,Hash结构进行查找。
索引模块
- 根据慢日志定位慢查询sql
show VARIABLES like '%query%'; -- 查询慢查询记录
show status like '%slow_queries%';
set global slow_query_log = on; -- 开启慢查询日志
set global long_query_time = 1; -- 设置慢查询指定的时间为1s
explain select ..... -- 执行计划查看sql
如果explain执行计划中`type字段`是index、all的时候就需要优化了,
如果`extra字段`是Useing_filesort(文件排序)、Useing_temporary(临时表)也需要使用索引优化。
- 使用explain执行计划分析sql
- 修改sql或者尽量让sql走索引
- 联合索引的最左匹配原则的成因
- 索引是建立的越多越好么
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。