Методы оптимизации работы с БД, Стандартные SQL оптимизаторы [3] - Система автоматизированного разделения кода прикладных программ

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

Стандартные SQL оптимизаторы [3]

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

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

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

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

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

Похожие статьи




Методы оптимизации работы с БД, Стандартные SQL оптимизаторы [3] - Система автоматизированного разделения кода прикладных программ

Предыдущая | Следующая