黑马程序员技术交流社区

标题: 关于while(rs.next())效率低的问题 [打印本页]

作者: 做個、堅強de女    时间: 2011-11-20 15:07
标题: 关于while(rs.next())效率低的问题
rs=stmt.executeQuery(str_sql)执行很快的
但是while(rs.next())显示400条左右的数据却需要10秒。
效率太低了。


有什么办法提高吗?
作者: 梁锡伟    时间: 2011-11-20 19:13
你在csdn问过吧?我记得看过这个问题。你确定是while里面的操作时间过长吗?我觉得遍历结果时间不会有多长
作者: 做個、堅強de女    时间: 2011-11-21 19:07
梁锡伟 发表于 2011-11-20 19:13
你在csdn问过吧?我记得看过这个问题。你确定是while里面的操作时间过长吗?我觉得遍历结果时间不会有多长 ...

哦  那是以前问过,我觉得遍历的时候结果有点慢啊!!!
作者: 梁锡伟    时间: 2011-11-21 22:33
做個、堅強de女 发表于 2011-11-21 19:07
哦  那是以前问过,我觉得遍历的时候结果有点慢啊!!!

你应该用集合来装吧,用的是什么集合。。。有代码吗
作者: 常文艺    时间: 2011-11-21 23:38
while () 方法要在堆内存里 开辟 空间什么的 ,没有FOR循环好 ,用了就释放掉了
作者: 柴亚飞    时间: 2011-11-22 01:28
你while循环体里面做了什么?
作者: zhou_411424    时间: 2011-11-22 08:18
有一方法,可以在sql语句上下点功夫:
1.可以适当修改sql语句,比如要查询前多少条数据,可加top关键字,也可提高查询速度
2.如果是多表查询,可以在某个字段或字段组合上加合适的索引
3.使用存储过程,这样第一次执行时,就把它编译到内存当中了,以后再执行此语句时,就不用再编译了,
直接从内存加载了,速度大大提高。另外它可以减少网络通信量,可想而知,速度是非常可观的。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2