Re: pgbench - extend initialization phase control - Mailing list pgsql-hackers
From | Fujii Masao |
---|---|
Subject | Re: pgbench - extend initialization phase control |
Date | |
Msg-id | CAHGQGwGN2dsx4G=MDdF3ONubdkTO3O7rkFr1BL3EapZ+ODEAhQ@mail.gmail.com Whole thread Raw |
In response to | Re: pgbench - extend initialization phase control (Fabien COELHO <coelho@cri.ensmp.fr>) |
Responses |
Re: pgbench - extend initialization phase control
|
List | pgsql-hackers |
On Fri, Oct 25, 2019 at 12:06 AM Fabien COELHO <coelho@cri.ensmp.fr> wrote: > > > Hello, > > >> Yep. Or anything else, including without (), to allow checking the > >> performance impact or non impact of transactions on the initialization > >> phase. > > > > Is there actually such performance impact? AFAIR most time-consuming part in > > initialization phase is the generation of pgbench_accounts data. > > Maybe. If you cannot check, you can only guess. Probably it should be > small, but the current version does not allow to check whether it is so. Could you elaborate what you actually want to measure the performance impact by adding explicit begin and commit? Currently pgbench -i issues the following queries. The data generation part is already executed within single transaction. You want to execute not only data generation but also drop/creation of tables within single transaction, and measure how much performance impact happens? I'm sure that would be negligible. Or you want to execute data generate in multiple transactions, i.e., execute each statement for data generation (e.g., one INSERT) in single transaction, and then want to measure the performance impact? But the patch doesn't enable us to do such data generation yet. So I'm thinking that it's maybe better to commit the addtion of "G" option first separately. And then we can discuss how much "(" and ")" options are useful later. ------------------------------------------ drop table if exists pgbench_accounts, pgbench_branches, pgbench_history, pgbench_tellers create table pgbench_history(tid int,bid int,aid int,delta int,mtime timestamp,filler char(22)) create table pgbench_tellers(tid int not null,bid int,tbalance int,filler char(84)) with (fillfactor=100) create table pgbench_accounts(aid int not null,bid int,abalance int,filler char(84)) with (fillfactor=100) create table pgbench_branches(bid int not null,bbalance int,filler char(88)) with (fillfactor=100) begin truncate table pgbench_accounts, pgbench_branches, pgbench_history, pgbench_tellers insert into pgbench_branches(bid,bbalance) values(1,0) insert into pgbench_tellers(tid,bid,tbalance) values (1,1,0) insert into pgbench_tellers(tid,bid,tbalance) values (2,1,0) insert into pgbench_tellers(tid,bid,tbalance) values (3,1,0) insert into pgbench_tellers(tid,bid,tbalance) values (4,1,0) insert into pgbench_tellers(tid,bid,tbalance) values (5,1,0) insert into pgbench_tellers(tid,bid,tbalance) values (6,1,0) insert into pgbench_tellers(tid,bid,tbalance) values (7,1,0) insert into pgbench_tellers(tid,bid,tbalance) values (8,1,0) insert into pgbench_tellers(tid,bid,tbalance) values (9,1,0) insert into pgbench_tellers(tid,bid,tbalance) values (10,1,0) copy pgbench_accounts from stdin commit vacuum analyze pgbench_branches vacuum analyze pgbench_tellers vacuum analyze pgbench_accounts vacuum analyze pgbench_history alter table pgbench_branches add primary key (bid) alter table pgbench_tellers add primary key (tid) alter table pgbench_accounts add primary key (aid) ------------------------------------------ Regards, -- Fujii Masao
pgsql-hackers by date: