高分求解 java怎么解决查询sql数据库的速度
Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance();DriverManager.registerDriver(new net.sourceforge.jtds.jdbc.Driver());
connection1=DriverManager.getConnection(url1,user,password1);
stm=connection1.createStatement();
String comma=",";
rs=stm.executeQuery(sql);
rsmd=rs.getMetaData();
我封装的JAVA调用sql数据库的关键代码,同一条sql代码,直接放查询分析器里面查询,只要3秒钟,JAVA里面5分钟都出不来,好郁闷呀 高分求解 java查询sql的速度 --------------------编程问答-------------------- 多少条数据呀???那么慢。。。一般用java连接数据库查询都是要分页的。。。另外最好createStatement改成vreatePreparedStatement方法。另外还是要看你sql怎么写的,sql语句可以优化一下。。。 --------------------编程问答-------------------- 看了你的代码,个人认为你封装的方法不对。
Class.forName("net.sourceforge.jtds.jdbc.Driver ");
Connection con =DriverManager.getConnection("jdbc:jtds:sqlserver://host:port/database","user","password");
--------------------编程问答-------------------- 应该是sql 问题, 你测试查询单独的表试试。 --------------------编程问答-------------------- 坐等高手解答! --------------------编程问答-------------------- 你基本上 啥都没写啊。。。。 --------------------编程问答-------------------- sql 没发呢?
另外,db 是有缓存的,可能你用 java 访问的时候,木有缓存,所以慢。 --------------------编程问答-------------------- sql呢?3秒钟也不短了
一般查询时间长是因为数据量大的问题,也有可能是你sql的问题。
sql问题建议你优化下sql,数据量大建议1、建索引。2、少用left join等连接。3、不用order by排序。 --------------------编程问答-------------------- 那是因为获取数据连接的时间慢吧,可以在每个语句前后打印个时间,看哪条语句执行的时间比较慢。还是建议楼主用数据池吧,这样可以减少每次获取连接的时间。 --------------------编程问答-------------------- rsmd=rs.getMetaData();去掉试试。 --------------------编程问答-------------------- SQL发出来,易做图大白 --------------------编程问答-------------------- 绝对是有错误拉,完整的代码贴上来 --------------------编程问答-------------------- sql、数据量、远程还是本地访问,这些都影响速度,信息提供可以再多点 --------------------编程问答-------------------- 不可能呀,我们查几W条数据都很快的,当然这跟硬件有关系,但你那个5分钟也太夸张了 --------------------编程问答-------------------- 没看懂,为什么加载了驱动还要new一个实例是什么意思?
DriverManager.registerDriver(new net.sourceforge.jtds.jdbc.Driver());
这句话是注册吗?不都是加载完了驱动直接用
DriverManager.getConnection("jdbc:jtds:sqlserver://host:port/database","user","password");获取链接的?在说
createStatement改用预编译的PreparedStatements应该也能提高系统性能
PS:SQL语句呢? --------------------编程问答-------------------- 终于找到原因,服务器的问题,我把程序放到一台新的2008操作系统的服务器上调我的数据库,挺快的,3秒钟出来。估计还是和机子本身有关勒
补充:Java , Web 开发