mysql中使用覆盖索引需要注意什么

这篇文章主要介绍mysql中使用覆盖索引需要注意什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

1、使用注意

(1)覆盖索引不适用于所有索引类型,索引必须存储列值。

(2)Hash和full-text索引没有存储值,所以MySQL只能使用B-TREE。

(3)不同的存储引擎有不同的覆盖索引。

(4)并不是所有的存储引擎都支持。

(5)如果要使用覆盖索引,一定要注意取出SELECT列表值所需的列,而不是SELECT*,因为如果把所有字段一起做索引,会导致索引文件过大,查询性能下降,不能用覆盖索引。

2、实例

#创建一张表
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中使用覆盖索引需要注意什么”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!