这个简单的查询:
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
答案 0 :(得分:3)
尝试将trip_id
添加到stop_id
上的索引中。这样您的查询将具有覆盖索引并且不进行查找。另外,检查执行计划(EXPLAIN [your query]
)。如果索引不够有选择性,则不会使用它。