【发布时间】:2014-03-17 14:08:47
【问题描述】:
我在 MySQL 中有一个查询:
SELECT FIELD1, FIELD2, FIELD3
FROM TABLE1
WHERE
(FIELD3 >= INT1 AND FIELD3 <= INT2)
AND FIELD2 IN (INTEGER_LIST)
任何想法如何使这个查询更快? FIELD2 和 FIELD3 均已编入索引。即使取消对 FIELD2 的检查,也不会发生与性能相关的任何事情。
执行计划信息:
id: 1
select_type: SIMPLE
table: TABLE1
type: ref
possible_keys: FIELD2, FIELD3
key: FIELD2
ref: const
rows: 310000
Extra: using where
【问题讨论】:
-
向我们展示您的执行计划?
-
索引是什么样的?
-
INTEGER_LIST 是什么?
-
当索引使用正确时,我在这里看不到任何错误!更常见的是 MySQL 服务器配置太小。请向我们展示您的 my.cnf!
标签: mysql sql performance select