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