Раздел 500 ГБ базы данных хранится в SQL Server

У меня есть 500 ГБ базы данных, хранящейся в SQL Server. Поскольку база данных слишком большая, для обновления и вставки данных требуется время. Теперь дело в том, что я хочу разделить данные. Итак, какие методы разбиения я должен использовать? Или есть какая-то другая техника, которая улучшит мою производительность?

3 ответа

Проблемы с производительностью не будут связаны с базой данных в целом, они будут связаны с отдельными таблицами и запросами.

Вы хотите определить, что медленно в первую очередь. Какие таблицы и почему. Это связано с I/O? В этом случае разделение может не помочь, если вы застряли в одной подсистеме ввода-вывода. Если страница разбита, изучите эту проблему. посмотрите, установлен ли ваш кластерный индекс или коэффициент заполнения таким образом, чтобы не оптимизировать производительность.

Разбиение - это корпоративная функция. Это то, что у вас есть? Если нет, пройдите по другому маршруту.

Скорее всего, вы можете настроить запросы, даже вставки, чтобы получить лучшую производительность.

Невозможно сказать, не зная схему вашей базы данных.

Сколько столов? Насколько велик? Насколько нормализуется? Как насчет индексов?

Здесь действительно есть что учитывать.

База данных объемом 500 ГБ сама по себе не так уж важна, если она правильно структурирована.

Но если у вас одна большая таблица со 100 столбцами типа VARCHAR(MAX)... ничто не может вам помочь.

Есть инструмент, который поможет вам сделать разбиение. Вот один пример:

http://www.donwellsoft.com/Default.aspx

Другие вещи, которые могут улучшить производительность:

  • более быстрые диски
  • проверить индексы
  • файлы журналов на отдельном диске
  • индексы на отдельном диске
Другие вопросы по тегам