数据库索引

  • 为什么使用索引
一般数据量少的情况下,数据加载到内存后进行全表扫描。数据量一大必须加索引(字典)。
  • 什么样的信息能成为索引
能把该记录限定在一定查找范围内的字段。主键、唯一键。
  • 索引的数据结构
生成索引,建立二叉查找树进行二分查找,
生成索引,建立B-Tree,B+-Tree,Hash结构进行查找。
  • 密集索引和稀疏索引的区别

索引模块

  • 如何定位并优化慢查询Sql
- 根据慢日志定位慢查询sql
    show VARIABLES like '%query%'; -- 查询慢查询记录
    show status like '%slow_queries%';
    set global slow_query_log = on; -- 开启慢查询日志
    set global long_query_time = 1; -- 设置慢查询指定的时间为1s

clipboard.png

    explain select ..... -- 执行计划查看sql
    如果explain执行计划中`type字段`是index、all的时候就需要优化了,
    如果`extra字段`是Useing_filesort(文件排序)、Useing_temporary(临时表)也需要使用索引优化。
    

clipboard.png

- 使用explain执行计划分析sql
- 修改sql或者尽量让sql走索引
  • 联合索引的最左匹配原则的成因
  • 索引是建立的越多越好么

阿南
20 声望7 粉丝

下一篇 »
Redis