A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 做個、堅強de女 黑马帝   /  2011-11-20 15:07  /  7810 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

rs=stmt.executeQuery(str_sql)执行很快的
但是while(rs.next())显示400条左右的数据却需要10秒。
效率太低了。


有什么办法提高吗?

6 个回复

正序浏览
有一方法,可以在sql语句上下点功夫:
1.可以适当修改sql语句,比如要查询前多少条数据,可加top关键字,也可提高查询速度
2.如果是多表查询,可以在某个字段或字段组合上加合适的索引
3.使用存储过程,这样第一次执行时,就把它编译到内存当中了,以后再执行此语句时,就不用再编译了,
直接从内存加载了,速度大大提高。另外它可以减少网络通信量,可想而知,速度是非常可观的。
回复 使用道具 举报
你while循环体里面做了什么?
回复 使用道具 举报
while () 方法要在堆内存里 开辟 空间什么的 ,没有FOR循环好 ,用了就释放掉了
回复 使用道具 举报
做個、堅強de女 发表于 2011-11-21 19:07
哦  那是以前问过,我觉得遍历的时候结果有点慢啊!!!

你应该用集合来装吧,用的是什么集合。。。有代码吗
回复 使用道具 举报
梁锡伟 发表于 2011-11-20 19:13
你在csdn问过吧?我记得看过这个问题。你确定是while里面的操作时间过长吗?我觉得遍历结果时间不会有多长 ...

哦  那是以前问过,我觉得遍历的时候结果有点慢啊!!!
回复 使用道具 举报
你在csdn问过吧?我记得看过这个问题。你确定是while里面的操作时间过长吗?我觉得遍历结果时间不会有多长
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马