select count(*) from test where id > 0;
You can try it while you wait for other on the list with more knowledge for a different idea.
Mel
On Sun, Oct 11, 2009 at 4:26 AM, 旭斌 裴 <peixubin@xxxxxxxxxxxx> wrote:
I have a 30,000,000 records table, counts the record number to need for 40 seconds.
The table has a primary key on column id;
perf=# explain select count(*) from test;
...
-----------------------------------------
Aggregate (cost=603702.80..603702.81 rows=1 width=0)
-> Seq scan on test (cost=0.00..527681.04 rows=30408704 width=0)
...
perf=# select count(*) from test;
count
------------
30408704
perf=#
The postgresql database uses the table full scan.but in oracle, the similar SQL uses the index full scanning,speed quickly many than postgresql.
postgresql's optimizer whether to have the necessity to make the adjustment?
好玩贺卡等你发,邮箱贺卡全新上线!