1、索引的优点:
- (1)提高数据检索效率。
- (2)提高聚合函数效率。
- (3)提高排序效率。
- (4)使用覆盖索引可以避免回表。
2、索引创建的四不要:
(1)选择性低的字段不要创建索引(例如,性别 scx、状态 status)。
(2)很少查询的列不要创建索引(项目初期就要确定好)。
(3)大数据类型字段不要创建索引。
(4)尽量避免不要使用 NULL,应该指定列为 NOT NULL(在 MySQL 中,含有空值的列很难进行查询优化,它们会使得索引、索引的统计信息及比较运算更加复杂。可以使用空字符串代替空值)。
3、使用不到索引的情况:
(1)通过索引扫描的行记录数超过全表的 30%,优化器就不会走索引,而变成全表扫描。
(2)联合索引中,第一个查询条件不是最左索引列(应该是最左索引列不在查询条件中)。
(3)联合索引中,第一个索引列使用范围查询,只能使用到部分索引,有ICP 出现(范围查询是指 <、=、<=、BETWEEN and)。
(4)联合索引中,第一个查询条件不是最左前缀列(其实就是最左索引列不在查询条件中,只要最左索引列在查询条件中,mysql优化器会自动优化最高效率的查询顺序)。
(5)模查询条件列最左以通配符 %开始(以考放到子里面)。
(6)两个单列索引,一个用于检索,一个用于排序。这种情况下只能使用到一个索引。因为查询语句中最多只能使用一个索引,考虑建立联合索引。
(8)查询字段上面有索引,但是使用了函数运算。
作者:admin 创建时间:2023-01-31 11:56
最后编辑:admin 更新时间:2023-02-02 15:36
最后编辑:admin 更新时间:2023-02-02 15:36