@postgres

Почему PgAdmin3 открывает таблицу быстрее после использования Array_agg?

Заметил такую фишку.
Для примера имею демо базу полетов https://postgrespro.ru/education/demodb

При обращении к таблице:
SELECT book_ref, book_date, total_amount
  FROM bookings.bookings b;

Выборка занимает 9.8 секунд на моем компьютере.

А такой запрос:
SELECT array_agg(b)
  FROM bookings.bookings b;

выполняется 806ms

если после него выполнить в этом же окне
SELECT book_ref, book_date, total_amount
  FROM bookings.bookings b;

то он так же быстро выполнится..

Однако сделав в новом окне (в котором обычный 'select * ..' будет выполняться 9.8 сек, сколько бы его не гоняй)
SELECT array_agg(1)
  FROM bookings.bookings b limit 1;
SELECT book_ref, book_date, total_amount
  FROM bookings.bookings b;

я получу результат за 930 мс.

Попробуйте сами на любой своей таблице..

Почему array_agg() дает какой то "волшебный пинок" на выборку в pgAdmin'e?

имею Postgres 9.6
  • Вопрос задан
  • 111 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы