美文网首页sql
索引的相关知识补充

索引的相关知识补充

作者: 剑道_7ffc | 来源:发表于2019-04-05 10:32 被阅读3次

    列的离散型:

    COUNT(DISTINCT col):count值越大,离散型越好,则选择性越好,被索引使用的可能性越高。如下图,若对sex加索引,因为离散型不高,可能会用到索引,可能不会。

    name和zoneDesc的离散型大于sex,所以加索引优选name和zoneDesc

    最左匹配原则:

    对索引的关键字进行匹配,按从左到右,不可跳过如若查询abcd,先拿查询的a和索引关键字第一个匹配,若相等则继续下一个,若不相等则进行跟根据大小选择向左或向右。

    联合索引:

    单列索引:节点的关键字[name]

    联合索引:节点的关键字[name,sex],所以单列索引认为是只有一个列的联合索引

    联合索引列选择原则:

    经常用的列放在前面:最左匹配原则:若联合索引的列是name和sex,查询name或查询name和sex时会使用索引,而查询sex不会使用索引,因为若左边列不匹配,就不会继续匹配右边列。

    离散型高的列优先:离散型高的原则,选择离散型低的列,即使加上索引,也不会走索引的

    宽度小的列优先:最小空间原则,空间的大小决定这路数,进而决定这B+Tree的深度,进而决定这索引的查询效率。

    覆盖索引:

    若查询的关键字可以通过索引的关键字来返回,好处:较少访问数据库的次数

    相关文章

      网友评论

        本文标题:索引的相关知识补充

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