У меня возникла проблема с непрерывным процессом, который работает каждый час и ежедневно вставляет около 3-4 миллионов строк в базу данных SQL Server 2008.Установки ускорения SQL Вставка
Схема состоит из большой таблицы, содержащей все вышеперечисленные данные, и имеет кластерный индекс в поле даты и времени (по дням), уникальный индекс в комбинации полей, чтобы исключить дубликаты вставок, и пару больше индексов на 2 поля varchar.
Типичное поведение в последнее время заключается в том, что инструкции вставки временно приостанавливаются до их завершения. Общий процесс, используемый для 4-5 минут, и теперь это обычно более 40 минут.
Вставки выполняются службой .net, которая анализирует серию xml-файлов, выполняет некоторые преобразования данных и затем вставляет данные в БД. Служба не изменилась вообще, просто вставки занимают больше времени, чем они используют.
На данный момент я готов попробовать все. Пожалуйста, дайте мне знать, нужна ли вам дополнительная информация и вы можете ничего не предлагать.
Заранее спасибо.
На вставке, вы имели в виду «добавить» и нет абсолютно никакого обновления происходит. И я полагаю, вы имеете в виду, что 3-4 миллиона строк были стандартной вставкой и не изменились. –
Также, если это добавляет 3-4 миллиона строк в день. Разве что-то очищается или размер данных только растет? –
Это не кажется удивительным, чем больше данных у вас есть в таблице, тем больше будет индекс вашего уникального индекса, поэтому дольше потребуется чтение и проверка, чтобы убедиться, что в вставленных данных нет дубликатов. Вы также должны обновить все индексы после завершения вставки, которые будут занимать больше времени, чем больше данных. – GarethD