10 秒内完成 Postgresql 查询

发布于 2024-10-14 03:23:16 字数 110 浏览 0 评论 0原文

有没有办法创建一个将运行十秒的查询?我不需要真实的数据,只是一种长时间运行查询的方法,这样我就可以测试系统在这段时间内的工作情况。

我不想创建一个巨大的表并为此进行简单的选择。有什么技巧吗?

Is there a way to create a query that will run for exactly ten seconds ? I don't need real data just a way to run a query for a long time so I can test how the system works in that time.

I would prefer not to create a huge table and make a simple select just for this. Any tricks?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

夏有森光若流苏 2024-10-21 03:23:16

pg_sleep

SELECT pg_sleep(10);

但是如果这是您的真正目标,那么这不会对系统产生任何负载。

pg_sleep:

SELECT pg_sleep(10);

But that will not generate any load on the system if that's your real goal.

蔚蓝源自深海 2024-10-21 03:23:16
SET statement_timeout to '10s';
SELECT 1 FROM pg_class CROSS JOIN pg_class CROSS JOIN pg_class ...; -- be careful ;-)

请注意,这会对 CPU 和 RAM 造成压力,但不一定会对磁盘造成压力。如果您想对磁盘施加压力,您可能只需要创建一个非常大的表。为此,您可以将上述查询的结果或任何其他解决方案的结果保存到新表中 (CREATE TABLE AS)。

SET statement_timeout to '10s';
SELECT 1 FROM pg_class CROSS JOIN pg_class CROSS JOIN pg_class ...; -- be careful ;-)

Note that this will stress CPU and RAM, but not necessarily the disk. If you want to stress the disk, you will probably just have to create a very big table. To do that you could save the results of the query above or from any of the other solutions into a new table (CREATE TABLE AS).

梦境 2024-10-21 03:23:16

您还可以使用 -T 开关运行 pgbench。所以...

pgbench -i -s 10

pgbench -c 10 -T 10

You can also run pgbench with -T switch. So...

pgbench -i -s 10

pgbench -c 10 -T 10

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文