• JDBC 中 socketTimeout 的作用


    如果我们把socketTimeout设置如下:

    socketTimeout=60000;

    这意味着60秒以内服务器必须开始给客户端吐数据,以保持socket的活性。配置成60秒,一般查询都不会遇到问题。即使是全表扫描这样的大查询,数据也会流式地源源不断吐给客户端,不会达到60秒的限制。

    但对于带有ORDER BY、DISTINCT、COUNT、SUM等方法的大查询,他们很可能60秒内还没有计算出结果,这时候客户端会检测到socket超时并自动断开,导致服务器会收到QUERY_KILL,中止本次执行。

    结论:对于带有排序、聚集函数的大查询,socketTimeout 应该设置很大的值。例如:

    socketTimeout=6000000;
  • 相关阅读:
    爬取药智网中的方剂信息
    日报3.13
    数据库添加出错
    Bencode
    一些安全网络协议
    代码质量不重要
    Jordan Peterson
    随身记录的缺点
    Why is Go PANICking?
    go问
  • 原文地址:https://www.cnblogs.com/fan-yuan/p/9362331.html
Copyright © 2020-2023  润新知