索引先要分聚集索引和非聚集索引
聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,按姓氏排列数据。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。 简单来说 聚集索引就是物理上的索引, 比如顺序存储26个字母, 那c肯定在b的后面,查询c的话直接查询就可以了
非聚集索引指索引和物理存储分开, 该索引中索引的逻辑顺序与磁盘上行的物理存储顺序不同。
此外索引又可以分为:普通索引,唯一索引,主键索引,联合索引
mysql中使用索引的一些注意事项:
like ‘aaa%' 会使用索引, 而like '%aaa%' 不会
在列上执行任何运算都不会使用索引, select * from a where year(a.b) > 2000;
not in 不会使用索引, <、 > 也要慎用, 数量量过大时,索引也无效果
查询只会使用一个索引, 有where和order by的话,order by不会使用索引
null值不会出现在索引里