我知道这是一个奇怪的问题,但是我想知道是否有一个我可以创建的MySQL查询,而我的数据库中没有数百万行会消耗资源并运行很长时间。我的最终目标是在资源争用的情况下测试我的应用程序,并确保我的处理失败的方法(特别是服务器超时)是正确的。
如果有另一种方法我可以在不创建和执行高资源查询的情况下测试它,我也很感激听到这一点。
答案 0 :(得分:23)
我假设您可以使用benchmark()
,但这不是它的范围。
select benchmark(9999999999, md5('when will it end?'));
答案 1 :(得分:1)
对于那些想知道如何为MS SQL Server(而不是MySQL)实现类似操作的人,如果要测试超时,请使用WAITFOR DELAY '02:00'
。
答案 2 :(得分:1)
如果您需要它们运行一小段时间,但又不能运行那么长,请尝试
select benchmark(1000000, md5('when will it end?')); -- around 0.3s
select benchmark(10000000, md5('when will it end?')); -- around 3s
select benchmark(100000000, md5('when will it end?')); -- around 30s