Я новичок, как здесь, при переполнении стека, так и на сервере SQL, поэтому, пожалуйста, дайте мне знать, если этот вопрос не подходит в любом случае:)
Что ж, я разрабатываю веб-приложение, которое будет использоваться для анализа больших объемов данных, которые хранятся в базе данных SQL Server 2008. Интерфейс не позволит пользователям обновлять или вставлять какие-либо данные, поэтому, за исключением некоторых обновлений пользовательских данных, в БД будут отправляться в основном команды SELECT.
Каждую ночь система будет закрываться и обновлять информацию из других источников. Это обновление также будет включать большие объемы данных, поэтому база данных будет в основном выполнять команды INSERT и UPDATE на этом этапе.
Я создал соответствующие индексы для достижения хорошей производительности на SELECTS, но эти индексы приводят к медленному ночному обновлению. Мне нужен «лучший из двух миров», поэтому я погуглил и обнаружил, что общей стратегией является удаление / отключение всех индексов перед записью данных и их повторное создание после этого. Я также слышал, что лучшим подходом является ограничение фактора заполнения индексов, что избавило бы меня от написания скриптов для удаления и повторного создания индексов.
Как вы думаете, какой подход лучше использовать здесь, моя главная цель - хорошая производительность? Должен ли я пойти с подходом "fillfactor" или я должен испачкаться и написать сценарии для удаления / повторного создания индексов? Любые предложения приветствуются!