Если я вставляю строки или обновляю значения в существующую строку, обновляются ли эти индексы для обновленных столбцов в то время? - PullRequest
1 голос
/ 30 июня 2011

ИЛИ мне нужно обновить их специально. Ситуация такова: у меня есть таблица с 1,5 миллиона строк и 90 столбцов. Мы провели огромную очистку данных, и мне нужно знать, нужно ли мне перестраивать индексы ИЛИ, если они уже были перестроены во время операций UPDATE и INSERT для этой таблицы.

Ответы [ 3 ]

2 голосов
/ 30 июня 2011

Уже актуально.Когда обновление или вставка (или удаление) завершаются, тогда все ограничения проверяются, индексы обновляются и триггеры тоже запускаются в порядке.Это включает в себя индексированные представления для таблиц.

Это Согласованность в ACID :

Статистика не обновляется до тех пор, пока не потребуется (что является временем компиляции запроса), но это не имеет значения

1 голос
/ 30 июня 2011

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

0 голосов
/ 30 июня 2011

Базы данных обновляют индексы (если вы специально не говорите им об этом)

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