@kirill-93

На сколько наличие индексов замедляет insert MySQL?

Говорят, что много индексов замедляет вставку записей в базу. Какое количество индексов считается большим, и влияет ли одинаково количество индексов и их длина?
  • Вопрос задан
  • 1264 просмотра
Пригласить эксперта
Ответы на вопрос 3
Smithson
@Smithson
20+ лет админю
Чем сложнее индекс, тем сильнее он замедляет операции вставки и удаления.
Точно в цифрах вам никто не ответит, где-то база на 100М записей с одним индексом на ура еще 1М записей вставить, где-то и 1М записей на 40 минут повиснут на массовой вставке. Зависит от структуры таблиц, индексов и производительности железа.

Формул нет.
Ответ написан
Комментировать
zoonman
@zoonman
⋆⋆⋆⋆⋆
На такой вопрос нет однозначного ответа.
В одном случае 10 индексов практически незаметно, а в другом и трех хватает, чтобы убить базу.
Смысл прост - если вставки интенсивные (больше одной в секунду) и таблицы быстро растут, то старайтесь сводить количество индексов к минимуму.
Помните, что вставка данных вызывает перестроение индекса. Это занимает время. Чем больше индексов, тем больше перестроений, чем больше строк в таблице, тем дольше перестроение индекса.
Например, если у вас небольшая база и перестроение индекса будет занимать секунду, то два индекса могут занять две секунды, а десять - десять. Получается, если ваш веб-сервер ответит за секунду, то все ок, а если ему потребуется 10 секунд, то пользователь подумает, что сайт не открывается и закроет его.
Ответ написан
Комментировать
dimonchik2013
@dimonchik2013
non progredi est regredi
вставка и чтение обычно из разных индексов

если у вас одинаковы - типа чата - пересматривайте архитектуру
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы