zoukankan      html  css  js  c++  java
  • mysql 索引

    项目中遇到表数据过大问题,于是对于用到的各个字段都加了单一索引,效果不理想,后来加了联合索引,速度简直质的飞跃

    首先贴参考https://www.cnblogs.com/chenshishuo/p/5030029.html

    简单写一下我的理解:

    1、联合索引需要将where中用到的字段以及select后的字段都包含,顺序是:where字段,select字段

    2、where字段遵循“最左前缀”,即where语句必须包含联合索引的第一个字段,才会引用索引

    3、对于多种情况来说要分析各种查询条件的排列组合,例如a、b、c、d四个字段,a、b、c是where字段,d是select字段,那么如果会出现(a)、(a,b)、(ac)、(b)、(c)、(bc)这几种情况 也就说明a、b、c三个都有可能出现在where的最左侧,那么就要建立三个索引(a,b,c,d)、(b,c,d)、(c,d)。

    对于数据量过大的表如果要从中取一条数据,条件很多,建议先添加联合索引查出id,然后根据id检索详细信息(未测,不知道效率如何)。

  • 相关阅读:
    04.
    24
    39
    46
    72.
    21.
    logout: not found”
    Username is not in the sudoers file. This incident will be reported
    激活函数
    排序算法
  • 原文地址:https://www.cnblogs.com/xiufengd/p/9151329.html
Copyright © 2011-2022 走看看