pgbench内置脚本

pgbench测试脚本如下

默认

static char *tpc_b = {
 "\\set nbranches :scale\n"
 "\\set ntellers 10 * :scale\n"
 "\\set naccounts 100000 * :scale\n"
 "\\setrandom aid 1 :naccounts\n"
 "\\setrandom bid 1 :nbranches\n"
 "\\setrandom tid 1 :ntellers\n"
 "\\setrandom delta -5000 5000\n"
 "BEGIN;\n"
 "UPDATE pgbench_accounts SET abalance = abalance + :delta WHERE aid = :aid;\n"
 "SELECT abalance FROM pgbench_accounts WHERE aid = :aid;\n"
 "UPDATE pgbench_tellers SET tbalance = tbalance + :delta WHERE tid = :tid;\n"
 "UPDATE pgbench_branches SET bbalance = bbalance + :delta WHERE bid = :bid;\n"
 "INSERT INTO pgbench_history (tid, bid, aid, delta, mtime) VALUES (:tid, :bid, :aid, :delta, CURRENT_TIMESTAMP);\n"
 "END;\n"
};

/* -N case */
static char *simple_update = {
 "\\set nbranches :scale\n"
 "\\set ntellers 10 * :scale\n"
 "\\set naccounts 100000 * :scale\n"
 "\\setrandom aid 1 :naccounts\n"
 "\\setrandom bid 1 :nbranches\n"
 "\\setrandom tid 1 :ntellers\n"
 "\\setrandom delta -5000 5000\n"
 "BEGIN;\n"
 "UPDATE pgbench_accounts SET abalance = abalance + :delta WHERE aid = :aid;\n"
 "SELECT abalance FROM pgbench_accounts WHERE aid = :aid;\n"
 "INSERT INTO pgbench_history (tid, bid, aid, delta, mtime) VALUES (:tid, :bid, :aid, :delta, CURRENT_TIMESTAMP);\n"
 "END;\n"
};

/* -S case */
static char *select_only = {
 "\\set naccounts 100000 * :scale\n"
 "\\setrandom aid 1 :naccounts\n"
 "SELECT abalance FROM pgbench_accounts WHERE aid = :aid;\n"
};

这些在源码文件夹的pgbench.c中可以看到。我们也可以自己写脚本文件,然后在运行pgbench的时候加参数-f指定脚本。

由此可见,其实pgbench的测试脚本还是很简单的,也有许多局限性。以后我们还会介绍另一个工具——pgbench-tool。它在一定程度上对pgbench进行了完善,虽然他也是调用pgbench。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值