Обновить

Комментарии 3

WITH random_period AS (
 SELECT
 book_date AS start_date,
 book_date + INTERVAL '30 days' AS end_date
 FROM bookings
 ORDER BY RANDOM()
 LIMIT 1
 )

Запихните в переменные @start_date и @end_date, прежде чем выполнять запрос и проверьте себя еще раз.

Кажется что индексы по временной таблице не используются, в плане стоит scan. Был ли смысл их создавать? Время и ресурсы измерялись с создание temp таблицы?

С временной таблицей есть одна очень существенная особенность - размер таблицы случаен. При каждом вызове - разный. Это условие эксперимента.

Поэтому вполне вероятно, для данного вызова

индексы по временной таблице не используются, в плане стоит scan.

По поводу:

Был ли смысл их создавать?

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

Время и ресурсы измерялись с создание temp таблицы?

Такой задачи не ставилось . И вряд ли будет отдельный эксперимент на эту тему.

В принципе - кому интересно - pg_expecto в github есть, демобаза 2.0 в github есть. Welcome.

У меня план экспериментов до конца года. К данной теме не буду возвращаться. Тем более после публикации итогов.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации