JDBC 连接数据库的保持连接alive 本帖最后由 loukcn 于 2012-03-13 16:30:29 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 貌似设置超时的问题上,统一的不是很好,给具体问题具体分析了.尝试一下DriverManager.setLoginTimeout(); 其实是和AS400的数据库连接,是基于3千万条以上的记录数,加上条件直接在400上查询都得将近一个小时左右,要是通过JDBC访问数据库,400会等不到结果就把连接给掐了。按照之前在网上查询的结果说是发送虚查询来保持连接,但是没人说怎么做到。所以求助来了。 说明你的程序查询有问题啊,从3000万条数据里查100条数据,如果数据库表索引、优化做的好,sql写的没问题,应该就是几秒的事情........ 可能是我解释的不明确,是从超过3000万的数据量里按照某个字段group by,再把某个字段sum,最终得到成100来条汇总结果,这3000万条记录是得挨个过一遍看是否符合where条件的 再补充一下,有个开源的ETL工具 kettle 就能保持和400的连接直到等到结果返回,不知道是怎么实现的 而且我觉得像其他大型数据库也会有这种情况的发生,一条sql下去,3、4个小时才能出来结果 那只能说明你的sql语句没优化好,造成全局查询了正常情况下索引设计,sql语句优化的话,也不会太慢 问题结决了,应该是和服务器的物理连接连接长时间等待时被路由器给断了连接。我就加了个进程每隔120000ms 就ping 一下目的服务器,保持物理连接始终处于活动状态。 求高手!正则表达式~~ 为什么在switch语句中,不能用for语句? 我是新手,请大家指导关于数据结构方面的问题,谢谢了 对象ObjectInputStream的文件操作,报java.io.StreamCorruptedException异常。 小小逻辑搞不清楚啦!谢谢各位。 java和junit写类与测试类 帮我解决定给高分 用过sun.net.ftp.FTPClient的兄弟请进... 我爱Robocode!是否有志同道合的,大家切磋切磋! java中能不能让两个new出来的对象能用==判断放回true Java毕业设计—客房管理系统 有没有什么配置在调用一个类方法的同时调用另一个方法
尝试一下DriverManager.setLoginTimeout();
说明你的程序查询有问题啊,从3000万条数据里查100条数据,如果数据库表索引、优化做的好,sql写的没问题,应该就是几秒的事情........
正常情况下索引设计,sql语句优化的话,也不会太慢