Перейти к содержимому
IMOEX 2209.84 0.8%
·Технологии·31 июля 2026 г.

Об одном различии работы оптимизатора Postgres и Oracle

При переносе большой системы разработанной под одну СУБД на другую неизбежно возникают различные "нюансы", то что эффективно работало в одной СУБД, уже не так эффективно (или совсем неэффективно) работает в другой.

В частности SQL разработанный под Oracle при всей синтаксической схожести может работать совсем не так в PostgreSQL Однако, это не значит, что ничего нельзя сделать, зачастую, если переписать код, используя особенности "новой" СУБД вы можете получить ту же эффективность выполнения.

Сегодня я хочу рассмотреть один частный случай, связанный с обработкой аналитических(оконных) функций оптимизаторами Postgres и Oracle.

Итак на герой, рассмотрим на синтетическом примере (который довольно похож на реальный)
создаём табличку t_rownum_stop c составным первичным ключом (obj_id - селективное, но не уникальное поле, key_1 и cat_id малоселективные поля)

Это отрывок статьи. Полную версию читайте на сайте источника по ссылке ниже.

Habr

Тикеры из статьи

ORCL 8.9%
$129,87