【问题标题】:pgbench select uuid for custom scriptspgbench 为自定义脚本选择 uuid
【发布时间】:2022-06-10 16:38:42
【问题描述】:

我正在尝试使用 pgbench 对自定义数据集进行基准测试。 我要选择的所有记录都以 uuid 作为主键。 不幸的是,所有示例片段都使用 random() 函数选择随机记录 - 大概是用于顺序 PK。

\set bid random(1, 1 * :scale)
\set tid random(1, 10 * :scale)
\set delta random(-5000, 5000)

BEGIN;
UPDATE pgbench_accounts SET abalance = abalance + :delta WHERE aid = :aid;
SELECT abalance FROM pgbench_accounts WHERE aid = :aid;
UPDATE pgbench_tellers SET tbalance = tbalance + :delta WHERE tid = :tid;
UPDATE pgbench_branches SET bbalance = bbalance + :delta WHERE bid = :bid;
INSERT INTO pgbench_history (tid, bid, aid, delta, mtime) VALUES (:tid, :bid, :aid, :delta, CURRENT_TIMESTAMP);
END;

我想知道是否有办法从表中选择随机 uuid 到一个变量中,这没有考虑到延迟。

【问题讨论】:

    标签: postgresql pgbench


    【解决方案1】:

    你可以使用gen_random_uuid():

    SELECT gen_random_uuid();
    

    由于版本 13 已集成到核心 PostgreSQL,对于旧版本,您必须先安装扩展 pgcrypto:

    CREATE EXTENSION pgcrypto;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-02
      • 2017-09-25
      • 2011-02-17
      • 2011-04-17
      • 2014-09-14
      • 1970-01-01
      • 2014-08-06
      • 2016-03-15
      相关资源
      最近更新 更多