遇到一个比较奇怪的问题。在导出大数据时,前面的查询都是正常的,后面有个查询就出现错误:Query execution was interrupted。
查询语句都是一样的。就是 limit 后的值不一样。从字面上说是查询被中断,但数据库是在本机上的,连接不会断,而且当中没有执行别的操作,怎么会出这个错误呢MYSQL手册里只是说明这意思:错误:1317 SQLSTATE: 70100 (ER_QUERY_INTERRUPTED) 消息:查询执行被中断。

解决方案 »

  1.   

    代码很简单啊,就是 select * from table where condition limit n, m;
      

  2.   

    Upgrade your mysql to the newest version.
    This is a bug.
    http://bugs.mysql.com/bug.php?id=25836
      

  3.   

    表中的数据量有多大?
    两条SQL语句具体是什么?
      

  4.   

    表中的数据量有点大,大约有300W条记录。查询语句很简单,就是 select * from t1 limit 1000, 100;
      

  5.   


    lz叙述的情况,很难再现,所以具体原因很难找到。我的推测:
    Mysql查询语句,当被认为其搜索范围大于1/3(?),将会无视索引而对所有数据进行搜索,
    是不是在执行这个SQL语句的时候,系统认为消耗资源太大,所以被强制停止了?
      

  6.   

    配置文件中增加此参数值的大小试下
    max_allowed_packet
      

  7.   

    Can you tell us how many memory your machine left ?
      

  8.   

    这个错误我后来也没有再现了,也找不到具体的原因,机器的内存应该是足够的,有2G内存啊,是在LINUX下的机器。再等一段时间,看还有没有人知道原因。到时再结贴啊