Re: How to check a table content efficiently? With LIMIT and OFFSET?

Поиск
Список
Период
Сортировка
От Craig Ringer
Тема Re: How to check a table content efficiently? With LIMIT and OFFSET?
Дата
Msg-id 4DE1B02E.8020105@postnewspapers.com.au
обсуждение исходный текст
Ответ на Re: How to check a table content efficiently? With LIMIT and OFFSET?  (Stefan Keller <sfkeller@gmail.com>)
Ответы Re: How to check a table content efficiently? With LIMIT and OFFSET?
Список pgsql-general
On 05/29/2011 05:45 AM, Stefan Keller wrote:
> Hi,
>
> That's my solution candidate:
>
> CREATE OR REPLACE FUNCTION isnotempty() RETURNS boolean AS '
>    SELECT (count(*) = 1)
>    FROM (SELECT osm_id FROM planet_osm_point LIMIT 1 OFFSET 100000) tmp
> ' LANGUAGE SQL;

LIMIT and OFFSET are often no more efficient than count(*). You're still
likely to need a full table scan.

Here's how I'd do it: I'd ANALYZE the table, then check the table
statistics to see that they looked to be within reasonable bounds. That
way you not only check the import, but in the process you ensure the
statistics used by the query planner are up to date. Since ANALYZE only
tests a sampling of records it does pretty much what you want, something
that it's not so easy to do in SQL.

--
Craig Ringer

В списке pgsql-general по дате отправления:

Предыдущее
От: Greg Smith
Дата:
Сообщение: Re: Shared Buffer Size
Следующее
От: Greg Smith
Дата:
Сообщение: Re: max_connections proposal