Производительность базы данных

При проектировании базы данных необходимо добиться, чтобы все важные операции выполнялись правильно и быстро. Некоторые проблемы производительности можно решить после того, как база данных будет помещена в производственную среду. Тем не менее, причиной многих проблем могут стать ошибки при проектировании базы данных, которые можно исправить только путем изменения ее структуры.

При проектировании и реализации базы данных следует выделить большие таблицы и наиболее сложные процессы. При их разработке необходимо уделить особое внимание производительности. Кроме того, следует определить, какое влияние на производительность будет оказывать увеличивающееся количество пользователей, обращающихся к таблицам.

Ниже продемонстрировано несколько примеров изменения структуры базы данных для улучшения производительности.

  • Если требуется ежедневно вычислять сводные данные по таблице, содержащей сотни тысяч строк, в нее можно добавить столбец или столбцы для хранения предыдущих данных, подвергшихся статистической обработке, и использовать их только при подготовке отчета.
  • Базы данных могут быть излишне нормализированы. Это означает, что база данных содержит несколько небольших взаимосвязанных таблиц. При обработке данных в этих таблицах требуются дополнительные действия по объединению взаимосвязанных данных. Дополнительная обработка уменьшает производительность базы данных. В этом случае за счет денормализации базы данных можно упростить обработку и слегка увеличить производительность.

Замечания по выбору оборудования

Как правило, чем больше база данных, тем выше требования к оборудованию. Однако другие определяющие факторы включают в себя количество одновременных пользователей и сеансов, пропускную способность транзакций и типы операций, которые выполняются внутри базы данных. Например, требования к базе данных, содержащей редко обновляемые данные школьной библиотеки, будут обычно более скромными, чем к хранилищу данных объемом 1 терабайт, содержащему часто анализируемые сведения о продажах, товарах и клиентах большой корпорации. Кроме пространства на диске, хранилищу данных требуется больше памяти и более быстрые процессоры, чтобы кэшировать в памяти больше данных и быстрее обрабатывать запросы.

Подсистема ввода-вывода или подсистема хранилища является ключевым компонентом любой реляционной базы данных и требует тщательного планирования. Для успешной реализации базы данных требуется тщательное планирование на начальных этапах проектирования. Планирование должно включать рассмотрение следующих вопросов.

См. также

Основные понятия

Оптимизация индексов

Другие ресурсы

Проектирование баз данных
Оптимизация баз данных
Реализация баз данных
Обслуживание баз данных (ядро базы данных)

Справка и поддержка

Получение помощи по SQL Server 2005