У меня есть пара некластеризованных индексов для таблиц, в которые довольно часто вставляются строки. По данным SQL Server, в настоящее время эти индексы фрагментированы примерно на 90%. Если я их восстановлю, фрагментация снизится до ~ 5%, но они быстро вернутся к 90% за пару часов.
Что происходит, почему мои индексы так постоянно фрагментированы и мне нужно об этом беспокоиться?
Некластеризованные индексы фрагментируются всякий раз, когда происходит разбиение страницы; это происходит в основном при вставке непоследовательных данных, то есть не в порядке индекса (иногда это случается и при вставке в порядке индекса, но не так часто).
Попробуйте перестроить их с заполнением 50%, то есть все текущие страницы останутся полупустыми.
Это дает вам время, необходимое для удвоения индекса, прежде чем фрагментация снова станет проблемой.