首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pgbench为自定义脚本选择uuid

pgbench为自定义脚本选择uuid
EN

Stack Overflow用户
提问于 2022-06-10 08:06:38
回答 2查看 25关注 0票数 0

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

代码语言:javascript
复制
\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到变量中,这在延迟中没有考虑到。

EN

回答 2

Stack Overflow用户

发布于 2022-06-10 08:38:42

您可以使用uuid()

代码语言:javascript
复制
SELECT gen_random_uuid();

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

代码语言:javascript
复制
CREATE EXTENSION pgcrypto;
票数 0
EN

Stack Overflow用户

发布于 2022-06-10 18:36:59

您可以随意订购()。假设您想从一个表中选择一个5行的示例;让我们将其命名为ruuids。然后(见演示);

代码语言:javascript
复制
select * 
  from ruuids 
 order by random()
 limit 5;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72570992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档