首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于测试的长查询

用于测试的长查询
EN

Stack Overflow用户
提问于 2013-06-24 01:56:20
回答 3查看 57关注 0票数 0

我正在尝试一些容错和应用程序,有没有人知道使用默认mysql表的长时间执行查询?

我们的想法是运行该查询,使mysqld崩溃,看看我的应用程序是否检测到错误并尝试连接到另一个mysqld。

谢谢

EN

回答 3

Stack Overflow用户

发布于 2013-06-24 02:04:15

即使是最长的查询也不会使mysqld崩溃!您可能会断开连接,这取决于您使用的驱动程序,但我相信服务器会一直运行,一直运行到完成为止。而长时间运行的查询将很难用标准表来处理。

票数 0
EN

Stack Overflow用户

发布于 2013-06-24 02:09:24

只需执行多个交叉连接并保存到表中:

代码语言:javascript
运行
复制
create table dum as
    select *
    from information_schema.tables t cross join
         information_schema.tables t cross join
         information_schema.tables t cross join
         information_schema.tables t cross join
         information_schema.tables t cross join
         information_schema.tables t cross join
         information_schema.tables t cross join
         information_schema.tables t;

或者,如果你不想创建一个表,可能是这样的:

代码语言:javascript
运行
复制
    select count(*)
    from information_schema.tables t cross join
         information_schema.tables t cross join
         information_schema.tables t cross join
         information_schema.tables t cross join
         information_schema.tables t cross join
         information_schema.tables t cross join
         information_schema.tables t cross join
         information_schema.tables t;

我刚刚意识到--我不知道information_schema.tables在新的安装中是否真的有行。最糟糕的情况是将如下内容组合在一起:

代码语言:javascript
运行
复制
select count(*)
from (select 1 as n union all select 2 as n union all select 3 as n union all select 4 as n) n1 cross join
     (select 1 as n union all select 2 as n union all select 3 as n union all select 4 as n) n2 cross join
     (select 1 as n union all select 2 as n union all select 3 as n union all select 4 as n) n3 cross join
     (select 1 as n union all select 2 as n union all select 3 as n union all select 4 as n) n4 cross join
     (select 1 as n union all select 2 as n union all select 3 as n union all select 4 as n) n5 cross join
     (select 1 as n union all select 2 as n union all select 3 as n union all select 4 as n) n6 cross join
     (select 1 as n union all select 2 as n union all select 3 as n union all select 4 as n) n7 cross join
     (select 1 as n union all select 2 as n union all select 3 as n union all select 4 as n) n8 cross join
     (select 1 as n union all select 2 as n union all select 3 as n union all select 4 as n) n9;

顺便说一下,这是一个有趣的问题。我生命中的大部分时间都致力于让查询运行得更快,以至于思考相反的问题是一件很有趣的事情。

票数 0
EN

Stack Overflow用户

发布于 2013-06-24 09:30:01

SLEEP()函数可能会对您有所帮助。SELECT SLEEP(10);在10秒后返回0

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17263614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档