Есть ли такая вещь, как «чрезмерная индексация» таблицы базы данных? - PullRequest
0 голосов
/ 29 мая 2018

Я пишу новую функцию, используя новые таблицы в базе данных MySQL.Есть ли у меня снижение производительности при индексировании столбцов (которое я буду использовать для WHERE в SELECT запросах) с самого начала, или мне следует подождать, пока размер таблицы достигнет значительных размеров, прежде чем я начну индексировать?

Ответы [ 4 ]

0 голосов
/ 29 мая 2018

Да, вставки и обновления могут выполняться медленнее из-за индекса.Однако в моей практике это не было общей проблемой.Вы хотите добавить только те индексы, которые, как вы знаете, вам понадобятся.Подождите, чтобы добавить другие индексы при решении новых проблем.Много раз нужно учитывать: индексы «Что делать, если» забываются, не нужны и на самом деле вызывают проблемы с производительностью, которые трудно отследить.После нахождения индекса проблемы разработчик должен потратить дополнительное время на определение того, нужен ли этот индекс в какой-либо другой части приложения.До ожидания добавления индексов, пока таблица не достигнет определенного размера.Я серьезно сомневаюсь, что это даст вам какую-то производительность, и если это произойдет, я поставлю под сомнение проект системы.

0 голосов
/ 29 мая 2018

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

Один аргумент против их немедленного ввода - это то, что фактические запросы будут информировать стратегию индексирования.Похоже, у вас есть довольно хорошее представление о том, каким будет использование.

Признайте, что индексы делают некоторые операции быстрыми (особенно select с).Однако они замедляют выполнение других операций (в частности, insert, update и delete).По этой причине вам следует задуматься над индексами, которые идут дальше.

0 голосов
/ 29 мая 2018

Когда вы вставляете, обновляете, удаляете свою таблицу, индекс тоже должен обновляться.

См. Эту статью об индексировании

0 голосов
/ 29 мая 2018

С этот пост :

Слишком много еще одного индекса.Меньше - это слишком мало.

Я пытался найти случай, когда было слишком много индексов, и я не смог ничего найти

Вы ЗНАЙ у тебя слишком много, если твои вставки слишком медленные, а индекс, используемый для чтения, не ускоряет процесс, чтобы восполнить это.

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