复合索引(组合索引)

用户可以在多个列上建立索引,这种索引叫做复合索引(组合索引); 复合索引在数据库操作期间所需的开销更小,可以代替多个单一索引; 同时有两个概念叫做窄索引和宽索引,窄索引是指索引列为1-2列的索引,宽索引也就是索引列超过2列的索引; 设计索引的一个重要原则就是能用窄索引不用宽索引,因为窄索引往往比组合索引更有效;

注意事项


  1、对于复合索引,在查询使用时,最好将条件顺序按找索引的顺序,这样效率最高;
  select * from table1 where col1=A AND col2=B AND col3=D
  如果使用 where col2=B AND col1=A 或者 where col2=B 将不会使用索引
  2、何时是用复合索引
  根据where条件建索引是极其重要的一个原则;
  注意不要过多用索引,否则对表更新的效率有很大的影响,因为在操作表的时候要化大量时间花在创建索引中

3、复合索引会替代单一索引么
  如果索引满足窄索引的情况下可以建立复合索引,这样可以节约空间和时间

猜你喜欢

转载自blog.csdn.net/qq_36908872/article/details/88659854