Оптимизация работы БД

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

Основные принципы оптимизации:

· как можно меньше дисковых операций чтения данных; надо увеличивать размер буфера кэширования, чтобы база данных как можно меньше читала данные с диска;

· как можно меньше сортировок данных на диске; надо увеличить буфер сортировки таким образом, чтобы избежать двойных сортировок и сортировок на диске.

· увеличивать параллельность исполнения запросов за счет запуска большого числа процессов базы данных, выбора форматов хранения данных, обеспечивающих параллельность работы;

· отложенная фиксация транзакций на диске; очень желательно настроить базу данных так, чтобы при изменении данных или их вставке не производилась немедленная запись на диск, а изменения собирались и фиксировались с некоторым интервалом; это позволяет значительно быстрее возвращать управление продукту после выполнения SQL запросов;

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

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