使用int索引的MySQL简单查询很慢

时间:2011-12-17 18:25:41

标签: mysql performance indexing

这个简单的查询:

SELECT trip_id from stop_times WHERE stop_id = 345

花费大约80ms,考虑到我正在迭代~10k行,这是太多时间。我的stop_times表有大约3.5M行,而stop_id上有一个索引。关于这里发生了什么以及可能加速它的任何线索?

EXPLAIN [query]输出:

id: 1   
select_type: SIMPLE
possible_keys: index_stop_times_on_stop_id
key: index_stop_times_on_stop_id
key_len: 5
ref: const
rows: 474
Extra: Using where

1 个答案:

答案 0 :(得分:3)

尝试将trip_id添加到stop_id上的索引中。这样您的查询将具有覆盖索引并且不进行查找。另外,检查执行计划(EXPLAIN [your query])。如果索引不够有选择性,则不会使用它。