执行 mysql_real_query, 如果服务器忙或者数据量比较大,会不会抛出超时的异常?我们的程序测试好像死机一样,很长时间没有反应,也不报错,也就是程序没有跳出mysql_real_query。即使数据库查询失败,也不要让它像死机一样。

解决方案 »

  1.   

    可以设置timeout
      

  2.   

    你可以在你的客户端设置一下本次连接的变量
    connect_timeout连接超时前的秒数。(默认值是0)。
    set connect_timeout = 10;
      

  3.   

    你可以直接  通过你的客户端的程序来执行这句,就如同执行普通的SQL语句一样。
    ssql ="set connect_timeout = 10";在PHP中就是这样操作的。
      

  4.   

    我是在查询,不是在连接的时候超时的。我在MySQL query browser中执行set connect_timeout = 10,会出1229错误。
      

  5.   

    set @connect_timeout = 10;这个不是创建connection时的time_out,是当你的select 语句超时。请查看一下MySQL的帮助手册中,搜索一下这个参数。
      

  6.   

    是,加了个@就通过了。mysql_real_query是以失败来报告超时吗?还要研究一下。