У меня есть таблица mysql, в которой есть куча слов. Понятно, что некоторые слова более распространены, чем другие, поэтому они обычно будут SELECTed
.переупорядочение строк таблицы mysql для увеличения скорости
В настоящее время таблица упорядочена в алфавитном порядке, однако, если бы я должен был упорядочить строки на основе частоты/общности слова и убедиться, что во всех моих запросах есть LIMIT
, это сделает SELECTs
быстрее всего? (Учитывая, что общие запросы будут выполняться быстрее)
Я имею в виду «жестко» изменить порядок строк, а не ORDER BY
в запросе.
Некоторые основные сведения о таблице:
Row Statistics
Format dynamic
Collation utf8_general_ci
Rows 106,827
Engine myISAM
У меня есть это уже. Таким образом, упорядочение их по их общности и ограничение SELECT на 1 не ускорит запрос? Даже если он может прочитать меньше строк, прежде чем найти правильную строку? Я чувствую, что индекс может изменить способ поиска запросов, так что моя точка отсутствует. –
Я совершенно уверен, что когда у вас есть индекс, порядок строк в фактической таблице не имеет значения. В конце концов, это точка индексов - MySQL не должен искать по таблице по строкам, но может просто искать в индексе, где расположены выбранные строки. –