W
Where is data, Lebowski
@double_data229 подп.
387просмотров
10 февраля 2025 г.
Score: 426
​​🍉 Принес парочку интересных кейсов поведения оптимизатора Greenplum - GPORCA 1️⃣ Плевать я хотел на тип данных Дано: 1. Таблица партицированная по полю с типом timestamp PARTITION BY RANGE (date) ( START ('2025-01-01'::timestamp) INCLUSIVE END ('2026-01-01'::timestamp) EXCLUSIVE EVERY (INTERVAL '1 day') ) При таком отборе дат, оптимизатор отказывается делать Partition Selector: where date >= date_trunc('month', date) ps: date_trunc('month', date) не меняет тип, он остается timestamp Но вот так, отлично работает 🤷‍♂️: where date >= date_trunc('month', date)::date 2️⃣ Упс, это вьюха Дано: 1. Вьюха, объединяет через union all несколько таблиц 2. Каждая таблица партицирована по одному и тому же полю, допустим date Partition Selector не работает: where date >= '2025-01-01'::date and data < '2025-02-01'::date Но вот так, отлично взлетает: where date between '2025-01-01'::date and '2025-02-01'::date При этом, на исходных таблицах оба варианта работают идентично, где логика, GPORCA? #work #case #greenplum
387
просмотров
1158
символов
Да
эмодзи
Нет
медиа

Другие посты @double_data

Все посты канала →
​​🍉 Принес парочку интересных кейсов поведения оптимизатора — @double_data | PostSniper