MySQL,SELECT * FROM与索引列

我正在使用MySql中的表,该表具有称为“ serial”的int索引列.该表大约有200万行.

如果我以这种方式在此列中应用选择语句:

 SELECT serial FROM Table WHERE Serial=12345

这将返回<附近的数据. 1秒. 但是,如果我在同一张表中使用SELECT *查询,则此查询大约需要78秒… 我知道将索引应用于表中的所有列都没有用,如果需要从特定序列中获取所有列,如何优化/最小化查询响应时间?

 SELECT * FROM Table WHERE serial= 12345

来自EXPLAIN的结果:

SELECT系列:

1 SIMPLE tableName index idx_tablename_serial 5 6686620 Using index

选择 * :

1 SIMPLE agsensepivotreadings ALL (null values) 6686620

请,任何建议或指南将不胜感激.

解决方法:

您的问题有部分答案.

https://*.com/a/3211164/2957840

而且,也许您应该考虑对表进行分区:
https://dev.mysql.com/doc/refman/5.7/en/partitioning.html

上一篇:如何在MySQL中建立索引?


下一篇:MySQL并不总是使用索引