Привет всем!
Мой клиент в настоящее время имеет базу данных SQL Server, которая выполняет 3-4 миллиона вставок, примерно столько же обновлений и даже больше операций чтения в день, каждый день.Текущая БД выглядит странно ИМХО: входящие данные попадают в таблицу «Текущий», затем ночные записи перемещаются в соответствующие месячные таблицы (например, MarchData, AprilData, MayData и т. Д.), Которые являются точными копиями текущей таблицы (схемаимею в виду).Считывания выполняются с точки зрения того, что UNION все месячные таблицы и текущая таблица, вставки и обновления выполняются только для текущей таблицы.Мне объяснили, что разделение данных на 13 таблиц было вызвано тем фактом, что все эти таблицы используют отдельные файлы данных, и эти файлы данных записываются на 13 физических жестких дисках.Таким образом, каждая таблица получает свой собственный жесткий диск, предположительно увеличивающий производительность просмотра.Что я замечаю, так это то, что ночной перенос записей в ежемесячные таблицы (который выполняется каждые 2 минуты в течение ночи, 8 часов) совпадает с полным резервным копированием, и БД начинает сканировать, время ожидания веб-сайта и т. Д.
Мне было интересно, действительно ли этот подход лучший?Или мы можем рассмотреть другой подход?Обратите внимание, что база данных составляет около 300-400 ГБ и растет на 1,5-2 ГБ в день.Время от времени мы переносим записи старше 12 месяцев в отдельную базу данных (архив).
Любое понимание высоко ценится.