@driverx18

Если стоит индекс в таблице, будет ли операции update/delete медленнее чем были ранее?

знаю, что индексы делают импрув по скорости для селекта данных и замедляют инсерт. что насчет update/delete, становятся ли операции быстрее, или наоборот дольше в отношение таблицы на которую мы навешали индекс(ы)?
  • Вопрос задан
  • 54 просмотра
Решения вопроса 1
BojackHorseman
@BojackHorseman Куратор тега MySQL
...в творческом отпуске...
delete/update может быть и быстрее и медленнее в зависимости от количества изменившихся записей.

например, вы будете менять записи, которые могут быть найдены по добавленному индексу. пусть записей будет 100. тогда время выполнения будет равно поиску этих записей по индексу, а не по всей таблице + изменение записей + перестройка индексов. тут выигрыш по скорости очевиден.

пример 2. вам нужно поменять все записи в таблице. тогда время выполнения будет равно поиску всех этих записей + изменение + перестройка индекса. очевидно в этом случае время перестройки индекса будет проигрышем.

но это все мелочи по сравнению с выигрышем в скорости выборки.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
dollar
@dollar
uBlock, Ghostery, WOT, TosterComfort, RKN Alert
Update - нет, но может и сильно да (зависит от запроса, который меняет индексы).
Delete - практически нет (редкая реорганизация это мелочь по сравнению с ускорением поиска).

В целом можно не волноваться об этом, если у вас нет чего-то особенного в запросах.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы