Mysql建了索引查询很慢

Posted zsxneil

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql建了索引查询很慢相关的知识,希望对你有一定的参考价值。

遇到一个问题,有几个结构一个的查询,表的索引建的也一样,但是有的查询很快,有的却很慢,需要半分钟以上才能执行完。

查看执行计划,并没有什么区别。找了很久原因才发现是主查询和子查询所涉及的表的字符编码不一致。改为一致后,问题解决。

sql如下:

delete from t_diag_detection WHERE reportName NOT IN (SELECT reportName FROM t_diag_reportinfo)

 

原因是 t_diag_detection表的字符编码是utf8mb4,而t_diag_reportinfo表的字符编码是utf8.这种情况是当时迁移数据库没注意导致的。

把字符编码都改为utf8后,不到1s就执行完了,总共有几万条数据。

以上是关于Mysql建了索引查询很慢的主要内容,如果未能解决你的问题,请参考以下文章

MySQL使用">="或"<="范围查询时不走索引

mysql组合索引与字段顺序

我mysql数据查询的数据过多,查询很慢,大家说用索引,可是没有接触有索引。求实例

mysql 查询的时候加了索引 查询还是很慢怎么办

mysql 数据库,表每天会插入30W条数据,该表数据千万级,查询效率很慢,建立索引是不是利大于弊?

带有子查询的 CTE 查询在小型索引表上很慢;如何在 MySQL 上进行优化?