更新:问题现在是fixed。
我想执行一个执行时间超过99,999秒的查询(例如SELECT SLEEP(150000);
)。要更改MySQL Workbench中的超时,我们必须转到编辑→首选项→SQL编辑器→DBMS连接读取超时(以秒为单位)。但是,DBMS connection read time out
字段最多只接受5个数字,将字段设置为0等于默认参数(600秒)。如果查询花费的时间超过超时,则会收到错误消息:Error Code: 2013. Lost connection to MySQL server during query
因此我的问题是:是否可以将此限制增加到超过99,999秒? 我使用Windows 7 64位Ultimate和MySQL Workbench 5.2.47 CE。
DBMS connection read time out
字段:
超时问题(0相当于默认参数(600秒)):
答案 0 :(得分:4)
可能没有人认为你需要这么高的超时,所以你只能被限制在目前可设置的范围内。但是在http://bugs.mysql.com上打开一个功能请求,建议完全禁用超时或允许更大的值。
答案 1 :(得分:1)
好吧,在欧洲,我们认为逗号是小数分隔符。你真的意味着100k秒吗?我在您的评论中看到您正在处理50 GB。即便如此,如果你需要超过一个小时,你错过了Indeces。您必须知道他们不会在单个查询中正确重建,因此如果您加入大量插入,您将获得扫描行的笛卡尔积 - 换句话说,您的查询可能会运行数周甚至数月。
解决方案:
1)填写基本数据,此处不使用连接。 2)改变表来设置索引。 3)运行“ANALYZE”4)完成其他任务。
如果您觉得在执行该过程时遇到问题,请使用EXPLAIN关键字添加查询并发布结果。
(我有一个cronjob每30分钟导入大约80GB - MySQL肯定可以处理这个。)
答案 2 :(得分:1)
此问题现已在MySQL Workbench 6.0.3(2013-07-09)中解决:请参阅bug report和change log。