2013-07-18 5 views
0

У меня есть таблица mysql, в которой есть куча слов. Понятно, что некоторые слова более распространены, чем другие, поэтому они обычно будут SELECTed.переупорядочение строк таблицы mysql для увеличения скорости

В настоящее время таблица упорядочена в алфавитном порядке, однако, если бы я должен был упорядочить строки на основе частоты/общности слова и убедиться, что во всех моих запросах есть LIMIT, это сделает SELECTs быстрее всего? (Учитывая, что общие запросы будут выполняться быстрее)

Я имею в виду «жестко» изменить порядок строк, а не ORDER BY в запросе.

Некоторые основные сведения о таблице:

Row   Statistics 
Format  dynamic 
Collation utf8_general_ci 
Rows  106,827 
Engine  myISAM 

ответ

0

Вы хотите создать индекс на столбце, который держит слова вы выбираете с помощью. В противном случае MySQL всегда будет проверять всю таблицу.

+0

У меня есть это уже. Таким образом, упорядочение их по их общности и ограничение SELECT на 1 не ускорит запрос? Даже если он может прочитать меньше строк, прежде чем найти правильную строку? Я чувствую, что индекс может изменить способ поиска запросов, так что моя точка отсутствует. –

+0

Я совершенно уверен, что когда у вас есть индекс, порядок строк в фактической таблице не имеет значения. В конце концов, это точка индексов - MySQL не должен искать по таблице по строкам, но может просто искать в индексе, где расположены выбранные строки. –

Смежные вопросы