2015-02-20 3 views
-2

Индексированием столбца MySQL не нужно просматривать каждую строку таблицы, вместо этого он может находить данные, которые вы ищете в алфавитном порядке, а затем пропустить сразу, чтобы посмотреть строки (строки) где находятся данные.Улучшение производительности MySQL путем индексации всего

Итак, я начинаю думать, что, устанавливая все столбцы, производительность должна быть еще лучше. Я прав?

И если да, то что было бы недостатком этого? Потому что, если это лучше для производительности, и если нет недостатков, каждый столбец должен быть определен как индекс по умолчанию.

Спасибо за ваши советы.

+0

Downside - это «просто», что MySQL должен поддерживать эти индексы на каждом «INSERT», «UPDATE» и т. Д. Если ваши данные сильно изменяются, это может быть довольно дорогостоящим. – Sirko

+0

Возможный дубликат [MySQL - почему бы не индексировать каждое поле?] (Http://stackoverflow.com/questions/5446124/mysql-why-not-index-every-field) –

ответ

1

Большое количество индексов может замедлить INSERT/UPDATE запросов и занимать значительное количество дискового пространства (потенциально больше, чем сами данные). Вы должны индексировать столбцы разумно, основываясь на типах запросов, которые делает ваше приложение.

+0

Спасибо, теперь я думаю, что, наконец, понял! –

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