如何有意创建长时间运行的MySQL查询

如何有意创建长时间运行的MySQL查询,mysql,testing,Mysql,Testing,我知道这是一个奇怪的问题,但我想知道是否有一个MySQL查询可以创建,而我的数据库中没有数百万行,这将消耗资源并运行很长时间。我的最终目标是在资源争用的情况下测试我的应用程序,并确保我处理故障(特别是服务器超时)的方法是正确的 如果有其他方法可以在不创建和执行高资源查询的情况下对此进行测试,我也会很高兴听到这一点。我假设您可以使用benchmark()进行测试,尽管这不是它的范围 select benchmark(9999999999, md5('when will it end?')); 对

我知道这是一个奇怪的问题,但我想知道是否有一个MySQL查询可以创建,而我的数据库中没有数百万行,这将消耗资源并运行很长时间。我的最终目标是在资源争用的情况下测试我的应用程序,并确保我处理故障(特别是服务器超时)的方法是正确的


如果有其他方法可以在不创建和执行高资源查询的情况下对此进行测试,我也会很高兴听到这一点。

我假设您可以使用
benchmark()
进行测试,尽管这不是它的范围

select benchmark(9999999999, md5('when will it end?'));

对于那些想知道如何为MS SQL Server(不是MySQL)实现类似操作的人,如果您想测试超时,请使用
等待延迟'02:00'

如果您需要它们运行一段时间,但不是那么长,请尝试

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。@Nix-在数以万计的数据中,这工作得非常完美,尽管我想我可以听到我的CPU在紧张状态下轻轻哭泣,因为MySQL(和MariaDB)的细节,这只会在每个查询中占用一个CPU核,所以当您的DB服务器只有一个核时,您将遇到重大问题