品易云推流 关闭
文章详情页
文章 > MySQL > mysql覆盖索引的使用注意

mysql覆盖索引的使用注意

头像

小妮浅浅

2021-06-10 14:59:03821浏览 · 0收藏 · 0评论

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覆盖索引的使用注意,希望对大家有所帮助。更多mysql学习指路:MySQL

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图