【发布时间】:2011-04-22 23:38:35
【问题描述】:
我知道这是一个奇怪的问题,但我想知道是否有一个我可以创建的 MySQL 查询,而我的数据库中已经有数百万行会消耗资源并运行很长时间。我的最终目标是在资源争用的情况下测试我的应用程序,并确保我处理故障(特别是服务器超时)的方法是正确的。
如果有另一种方法我可以在不创建和执行高资源查询的情况下对此进行测试,我也会很高兴听到这一点。
【问题讨论】:
-
@Nix - 数以万计
我知道这是一个奇怪的问题,但我想知道是否有一个我可以创建的 MySQL 查询,而我的数据库中已经有数百万行会消耗资源并运行很长时间。我的最终目标是在资源争用的情况下测试我的应用程序,并确保我处理故障(特别是服务器超时)的方法是正确的。
如果有另一种方法我可以在不创建和执行高资源查询的情况下对此进行测试,我也会很高兴听到这一点。
【问题讨论】:
我假设您可以为此使用 benchmark(),尽管这不是它的范围。
select benchmark(9999999999, md5('when will it end?'));
【讨论】:
如果您需要它们运行一段时间,但不那么长,那么试试
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
【讨论】:
对于那些想知道如何为 MS SQL Server(不是 MySQL)实现类似操作的人,如果您想测试超时,请使用 WAITFOR DELAY '02:00'。
【讨论】: