Wol_fi: Спасибо!
Проверил на скорость выполнения запроса.
Не смотря на то, что rows при explain показывает всегда 1, скорость запроса зависит от отдаленности строки при сортировке. То-есть если сортируем DESC, и строка находится близко (ID 8000), то скорость высока, а если ID 100, то запрос выполняется чуть больше секунды.
Получается, значение rows в данном случае вводит в заблуждение.
Спасибо большое за консультацию.
Делаю составной индекс на match и ID, при запросе
SELECT * FROM `test` WHERE `match`='500' ORDER BY `id` DESC LIMIT 0,1
rows колеблется до 40. В зависимости от того, сколько повторяющихся `match` такого значения.
Снимаю составной индекс (удаляю), остается только первичный ключ на ID. Повторяю запрос:
SELECT * FROM `test` WHERE `match`='500' ORDER BY `id` DESC LIMIT 0,1
rows всегда 1.
Вот это меня волнует. Судя по значению rows, получается, в таких случаях индекс вообще не нужен? :-( Или все-таки я туплю?
Wol_fi: Использовав Ваш запрос, rows остался на значение 8500, то-есть прочитав все значения.
Без индекса на member и сортировки по ID rows остается на значение 1.
То-есть не смотря на то, что при отсутствие индекса на member и при сортировке по ID (Пер.ключ) rows выдает 1, скорость работы все-равно ниже, нежели если установить индекс на member и убрать сортировку по ID?
Спасибо за уделенное время. Если не состав труда, уточните еще по этому моменту.
За ссылку на книгу благодарю.
Проверил на скорость выполнения запроса.
Не смотря на то, что rows при explain показывает всегда 1, скорость запроса зависит от отдаленности строки при сортировке. То-есть если сортируем DESC, и строка находится близко (ID 8000), то скорость высока, а если ID 100, то запрос выполняется чуть больше секунды.
Получается, значение rows в данном случае вводит в заблуждение.
Спасибо большое за консультацию.