digoal@126.com wrote:
> ostgres=# create unlogged table test(id serial8, info text, crt_time
> timestamp);
> CREATE TABLE
> postgres=# alter sequence test_id_seq cache 10000000;
> ALTER SEQUENCE
> postgres=# create index idx_test on test using brin (id) with
> (pages_per_range =1);
> CREATE INDEX
>
> $vi test.sql
> insert into test (info) select null from generate_series(1,10000000);
>
> $pgbench -M prepared -n -r -P 1 -f ./test.sql -c 1 -j 1 -t 1000
>
> the brin index cann't auto update, when i create it 224k. and when test some
> times elapse, it's also 224k.
Yeah, index summarization is not immediate for block ranges that are not
already summarized. You can invoke summarization by running VACUUM on
the table, or by using the brin_summarize_new_values() function. That
would improve query execution too.
--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services