插件窝 干货文章 mysql添加索引反而速度变慢的问题

mysql添加索引反而速度变慢的问题

索引 class 添加 strong 196    来源:    2024-10-16

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` )

总结

以上为个人经验,希望对您有所帮助。