Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Количество записей, подходящих под запрос / 4 сообщений из 4, страница 1 из 1
27.10.2016, 23:33
    #39335827
_Novichok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Количество записей, подходящих под запрос
Здравствуйте.

Есть запрос с кучей джойнов, который без фильтров может возвращать несколько миллионов записей.
Записи вычитываются пачками, но необходимо узнать количество строк, подходящих по запрос.
Можно, конечно, написать что-то типа:
Код: plsql
1.
SELECT COUNT(*) FROM (SELECT ... FROM ... INNER JOIN ... INNER JOIN ...)


Но, как мне кажется, это будет неэффективно, так как все равно будет запрос на все данные (которых могут быть миллионы).
Есть ли какой-то другой механизм определения количества записей в запросе?
...
Рейтинг: 0 / 0
28.10.2016, 07:03
    #39335866
mad_nazgul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Количество записей, подходящих под запрос
_Novichok,

Не факт.
Зависит от того какие JOIN и как настроены индексы.
Возможно сумма будет считаться не full-scan, а по индексу.
...
Рейтинг: 0 / 0
28.10.2016, 13:08
    #39336169
_Novichok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Количество записей, подходящих под запрос
mad_nazgul,

В любом случае запрос тяжелый и данных может очень много
...
Рейтинг: 0 / 0
29.10.2016, 07:21
    #39336756
mad_nazgul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Количество записей, подходящих под запрос
_Novichokmad_nazgul,

В любом случае запрос тяжелый и данных может очень много

Тогда в начале смотреть на план запроса, а потом уже принимать решение.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Количество записей, подходящих под запрос / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]