Обработка запросов в Oracle и PostgreSQL: следствия одного решения | Наша статья на Хабре

PostgreSQL Источник: Хабрахабр

          Директор образовательных программ нашей компании Егор Рогов подготовил новую статью для нашего блога на сайте www.habrahabr.ru. Это эксклюзивная статья и публикуется только в блоге на Хабре (где уже собралось несколько очень важных статей о СУБД PostgreSQL).

«Обработка запросов в Oracle и PostgreSQL: следствия одного решения» | Наша статья на Хабре | Автор:  Егор Рогов - директор образовательных программ компании Postgres Professional

          "Обработка запросов SQL и в Оракле, и в Постгресе имеет много общего. Так или иначе, надо выполнить синтаксический разбор, проверить семантику (для чего потребуется метаинформация, и не важно, называется ли это «словарь данных» или «системный каталог»), выполнить какие-то преобразования, построить оптимальный план выполнения (в обеих системах основанный на стоимости, а следовательно требующий заранее собранной статистики).

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

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

          Приведенные примеры (которые выполнялись на версиях Oracle 11.2 XE и PostgreSQL 9.4) содержат время выполнения запросов. Нас интересуют только относительные величины: во сколько раз изменилось время выполнения после внесения в запрос тех или иных изменений. При этом абсолютные цифры могут отличаться на порядки в зависимости от аппаратуры, нагрузки и настроек. Чтобы не давать повод для бессмысленных выводов на их основании, все абсолютные значения в статье отмасштабированы так, чтобы один из запросов составлял в обеих системах 10 секунд."

          Читать полностью по ссылке: https://habrahabr.ru/company/postgrespro/blog/275755/