使用注意
1、索引必须存储列值。
覆盖索引不适用于所有索引类型。
2、MySQL只能使用B-TREE。
Hash和full-text索引没有存储值。
3、不同的存储引擎有不同的覆盖索引。
4、并不是所有的存储引擎都支持。
5、注意取出SELECT列表值所需的列。
如果要使用覆盖索引,一定要注意取出SELECT列表值所需的列,而不是SELECT*,因为如果把所有字段一起做索引,会导致索引文件过大,查询性能下降,不能用覆盖索引。
实例
#创建一张表 mysql> create table T ( ID int primary key, k int NOT NULL DEFAULT 0, s varchar(16) NOT NULL DEFAULT '', index k(k)) engine=InnoDB; #插入的数据 insert into T values(100,1, 'aa'),(200,2,'bb'),(300,3,'cc'),(500,5,'ee'),(600,6,'ff'),(700,7,'gg');
以上就是mysql覆盖索引的使用注意,希望对大家有所帮助。更多mysql学习指路:MySQL
推荐操作系统:windows7系统、mysql5.8、DELL G3电脑