test=#
insert
into
tbl_time1
select
generate_series(1,100000000),clock_timestamp(),now();
INSERT
0 100000000
Time
: 525833.218 ms
约:8.7分钟
COUNT,没有索引,1亿条数据。
test=#
select
count
(1)
from
tbl_time1;
count
100000000
(1 row)
Time
: 3070658.058 ms
约:51.2分钟
添加主键索引耗时
test=#
alter
table
tbl_time1
add
primary
key
(id);
ALTER
TABLE
Time
: 981276.804 ms
约:16.4分钟
COUNT,有索引(主键),1亿条数据,注意 where id > 0 的条件
这个有
where
id > 0
test=#
select
count
(id)
from
tbl_time1
where
id > 0;
count
100000000
(1 row)
Time
: 244243.112 ms
约:4.071分钟
COUNT,有索引(主键),1亿条数据,注意没有 where id > 0 的条件
这个无
where
id > 0
test=#
select
count
(id)
from
tbl_time1;
count
100000000
(1 row)
Time
: 548650.606 ms
约:9.144分钟
通过修改配置文件调优
enable_bitmapscan =
off
enable_hashagg =
on
enable_hashjoin =
on
enable_indexscan =
on
enable_indexonlyscan =
on
#enable_material =
on
#enable_mergejoin =
on
#enable_nestloop =
on
enable_seqscan =
off
#enable_sort =
on
enable_tidscan =
off
test=#
select
count
(id)
from
tbl_time1
where
id > 0;
count
100000000
(1 row)
Time
: 87501.151 ms
约:1.456分钟