Добрый день.
Уже задавал вопрос тут:
Повторюсь.
У меня прямое соединение с PostgreSQL, там у меня таблица-витрина в 3,7 млн. строк.
Мне надо отобразить эту таблицу в виджете таблица с пагинацией.
Однако каждый раз когда я открываю дашборд с этой таблицей, он открывается по 3 минуты.
Очень долго выполняется запрос и долго считается пагинация в эту таблицу.
Запрос на отображение таблицы:
SELECT "region" AS "Округ", ...
FROM v_task_report AS t
WHERE "region_id" = '8'
GROUP BY "region", ...
LIMIT 10
Запрос для подсчета количества страниц:
SELECT count(1) ROWCOUNT
FROM (
SELECT "region" AS "Округ", ...
FROM v_task_report AS t
WHERE "region_id" = '8'
GROUP BY "region", ...
) t
Я вывожу в таблицу на дашборде в том числе уникальные колонки, выполнять GROUP BY точно не нужно.
Без GROUP BY эти запросы отрабатывают менее чем за секунду (есть соответствующие индексы), с GROUP BY же они оба отрабатывают за 3 минуты.
Каким образом можно настроить виджет “Таблица”, что бы в PostgreSQL не выполнялся GROUP BY?
Что бы вывести в виджет “Таблица” колонку, эта колонка должна быть либо метрикой, либо измерением. Измерение попадает всегда в GROUP BY, а метрика в агрегацию. Варианта вывода самого поля я не нашел.