#PostgreSQL #федичитальня #postgresql15

Все мои посты здесь собираются в этот гигапост в качестве сохранения от удаления. В бонус - небольшие редактирования, когда через неделю-две читаешь, что написал - диву даёшься, как так можно плохо писать.
strizhechenko.github.io/2023/0

Заметил в книжке пример о том, что можно делать хитрый WHERE по сочетанию параметров через VALUES и скобочки.

WHERE (x, y) IN (VALUES ('a', 'b'), ('c', 'd'))

Интересно насколько эффективно оно работает в сравнении с пачкой OR? Длина собранного запроса короче, больше шансы уложиться в один TCP PUSH/ACK пакет при средних размерах таких списков, это понятно. Читаемость - хз. А с точки зрения вычислений хз вдвойне. Композитным индексам, наверное, пофигу.

Если COALESCE для обыгрывания NULL-значений делать, наверное, вообще вся работа индексов по одному месту пойдёт. В 15й версии для этого даже специальную опцию сделали, но, уверен, под капотом там тот же COALESCE будет. А на работе 14, так что я даже не пробовал.

Это такая скучная херня, дрочиться с работающими SQL'никами ради 5-10% выигрыша производительности, но так успокаивает и умиротворяет, радует, когда в итоге получается, когда нет срочных задач, само собой.

Увидел что начиная с 12 версии можно пилить свои методы табличного доступа и загорелся идеей fine tuned custom приколов заточенных под специфику данных. Теоретически можно накостылить эдакий clickhouse внутри постгреса. Вот на старом проекте одну задачу можно было бы изящно утащить в постгрю, сделать бешенно быстрый парсинг и CDC. Вышло бы охуенно, очень смешно и не совсем понятно.

Follow

@strizhechenko а где поглядеть такое?

Sign in to participate in the conversation
MustUdon

I like Twitter, but, Mastodon it is so excited! Feel free to register it is server just for fun! Usefull links https://instances.social https://www.reddit.com/r/Mastodon/comments/yugh2o/some_useful_mastodon_lists/?utm_source=share&utm_medium=web2x&context=3