mysql添加索引反而速度变慢的问题
作者:Aoeding
这篇文章主要介绍了mysql添加索引反而速度变慢的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
mysql添加索引反而速度变慢
索引失效几种情况
1.使用in、not in,会导致索引失效
- 失效的原因和 Mysql 的版本以及表中的数据量有关系
- 在 8.0 之后的版本是走索引的
2.or 分割的条件
如果 or 左边的条件存在索引,而右边的条件没有索引,不走索引
- 因为 OR 的含义就是两个只要满足一个即可
- 因此只有一个条件列进行了索引是没有意义的
- 只要有条件列没有进行索引
- 就会进行全表扫描
- 因此索引的条件列也会失效
3.索引字段不是联合索引字段的最左字段
4.like 使用了 ‘%’模糊匹配
5.被索引字段使用了内置函数
- 使用了SUM(), MIN(), MAX(), COUNT(), and so forth
6.被索引字段使用了表达式计算
7.字段类型不匹配导致的索引失效
mysql添加索引语句
添加PRIMARY KEY(主键索引)
mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )
添加UNIQUE(唯一索引)
mysql>ALTER TABLE `table_name` ADD UNIQUE ( `column` )
添加INDEX(普通索引)
mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column` )
添加FULLTEXT(全文索引)
mysql>ALTER TABLE `table_name` ADD FULLTEXT ( `column`)
添加多列索引
mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。