SQL索引

牧云@^-^@ 提交于 2020-02-06 12:31:02

索引

索引概念、索引模型

索引是一种数据结构,能够帮助我们快速的检索数据库中的数据

  • 数据结构:Hash索引和B+树
  • 优缺点
    Hash索引低层是哈希表,哈希表是一种KV存储数据的结构,数据存储上没有任何顺序,区间查询无法直接通过索引,可以做等值查询,不支持最左匹配规则。如果存在大量重复键,哈希索引效率会很低,存在哈希碰撞问题
    B+ Tree是一种多路平衡查询树,节点天然有序,叶子节点存储了整行数据的事主键索引,也被称为聚簇索引,叶子节点存储主键的值的是为非聚簇索引。
  • 聚簇索引和非聚簇索引的区别
    聚簇索引:叶子节点查询出来的是整行数据
    非聚簇索引:叶子节点查询出来的是主键的值,得到值之后还要通过主键的值再查询一次,也可以通过覆盖索引查询一次

联合索引、最左前缀匹配

在做联合索引的时候,将识别度最高的字段放在最左边(将where字句中使用最频繁的一列放在最左边)
最左匹配规则:如(key1,key2,key3)相当创建了(key1)(key1,key2)(key1,key2,key3)

  • 通过explain查看sql语句的执行计划

注:查询优化器,可能使查询语句没有通过索引

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!