Postgresql查询在10秒内完成

时间:2011-01-25 09:04:19

标签: postgresql

有没有办法创建一个运行十几秒的查询?我不需要真正的数据只是一种长时间运行查询的方法,因此我可以测试系统在那段时间的工作方式。

我不想创建一个巨大的表,只为此做一个简单的选择。任何技巧?

3 个答案:

答案 0 :(得分:6)

pg_sleep

SELECT pg_sleep(10);

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

答案 1 :(得分:4)

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)中。

答案 2 :(得分:0)

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

pgbench -i -s 10

pgbench -c 10 -T 10