Быстрый способ узнать количество строк в таблице в PostgreSQL

Мне нужно знать количество строк в таблице, чтобы вычислить процент. Если общее количество строк больше некоторой предопределенной константы, я буду использовать постоянное значение. В противном случае я буду использовать фактическое количество строк.

Я могу использовать SELECT count(*) FROM table. Но если мое постоянное значение 500,000, а у меня в таблице 5,000,000,000 строк, то подсчет всех строк займет много времени.

Можно ли остановить подсчет, как только мое постоянное значение будет превышено?

Мне нужно точное количество строк только до тех пор, пока оно ниже заданного предела. В противном случае, если счетчик превышает предел, я использую вместо него предельное значение и хочу получить ответ как можно быстрее.

Что-то вроде этого:

SELECT text,count(*), percentual_calculus()  
FROM token  
GROUP BY text  
ORDER BY count DESC;
89
задан Erwin Brandstetter 9 November 2016 в 17:16
поделиться