美文网首页MySQL(总)MySQL索引
索引设计与优化读书笔记<一>(未完结)

索引设计与优化读书笔记<一>(未完结)

作者: 飞翔的Tallgeese | 来源:发表于2018-04-04 10:38 被阅读0次

    概念

    关于索引的三星原则

    第一颗星:包含所有可匹配的索引列(使得索引片尽量的窄)

    eg.

    select a,d,f from tb where a='xxx' and b='yyy' and c='zzz' order by d,e;

    索引需要包含a,b,c三列;

    第一颗星如果包含a,b,c三列可以保障索引片尽量的窄(涉及到索引的过滤性)

    第二颗星:避免排序

    eg.

    select a,d,f from tb where a='xxx' and b='yyy' and c='zzz' order by d,e;

    索引需要包含d,e,同时满足d,e的排序;

    第二颗星可以避免额外的排序操作,避免filesort;

    第三颗星:包含所有查询项

    eg.

    select a,d,f from tb where a='xxx' and b='yyy' and c='zzz' order by d,e;

    个人理解第三颗星的查询项指的是a,d,f,而不是所有三颗星涉及到的a,b,c,d,e,f;

    第三颗星可以保证访问索引即可,不需要回表验证;(每一次回表都会产生随机IO)

    重要程度:

    第三颗星第一颗星>

    相关文章

      网友评论

        本文标题:索引设计与优化读书笔记<一>(未完结)

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