MySQL простой запрос с индексом int работает медленно - PullRequest
1 голос
/ 17 декабря 2011

Этот простой запрос:

SELECT trip_id from stop_times WHERE stop_id = 345

Занимает около 80 мсек, что слишком много времени, учитывая, что я перебираю ~ 10 тыс. Строк. Моя таблица stop_times содержит около 3,5 миллионов строк, а индекс 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 Ответ

3 голосов
/ 17 декабря 2011

Попробуйте добавить trip_id к индексу на stop_id.Таким образом, ваш запрос будет иметь индекс покрытия и не будет выполнять поиск.Также проверьте план выполнения (EXPLAIN [your query]).Если индекс недостаточно избирателен, он не будет использоваться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...