使用JDBC时,如果在表有几百万条记录,从服务端到客户端如何提高效率,请讨论???

时间:2021-03-10 21:49:26
在数据库服务器上的一个表中有几百万条记录,当在客户端选择查询条件时如果为全部的记录时,使用JDBC生成的结果集很大,在网络中的传递速度也很慢,但用户实际上在每页上看的数据就那么十几条记录
请问有没有办法,每次只传递客户看到的数据???或者是别的方法!!!
我在一些大网站上进行查询时,它们的数据量也很大吧,他们采用的什么技术,速度那么快???

14 个解决方案

#1


1.首先要对数据库的表进行优化,如索引的使用方面等
2.你可以设定每次查询的记录条数,以及从那开始
3.在大型商业网站中,使用的服务器的性能都是十分高的.

#2


同意上述意见!

表设计合理 服务器又做优化了 查询的视图 or sql 又最优化了 那就可以提高效率  接下来 就是选择传输的数据量!

#3



一般情况下肯定是只传一页的内容了,不要把用户不需要的东西交给用户。

再加上楼上的几位意见,应该没什么问题了。

#4


我的表已经做过了优化了,也做过索引了

#5


对,就是只传一页的内容,但我的sql语句怎么写??

#6


你的内容是即时性的 还是内容变化不大的!

还有你的数据库是什么?

有的可以根据rowid来选择哪几条记录!

来肯定要有一个变量来记录当前要的是第几页!
可以去找个jsp 分页的例子来看看!

#7


你的内容是即时性的 还是内容变化不大的!

还有你的数据库是什么?

有的可以根据rowid来选择哪几条记录!

来肯定要有一个变量来记录当前要的是第几页!
可以去找个jsp 分页的例子来看看!

#8


如果是mysql,可以用 limit 3,5 表示从第3条记录开始,取5条。

如果是oracle,可以利用ROWNUM来限制返回的记录数。

具体参考一下你的DB手册或咨询一下你的DBA吧。

#9


如果是mysql,可以用limit来限制返回的记录数,如果是oracle,也有ROWNUM可以用来限制记录数的。

具体请参考一下DB手册或咨询一下你们的DBA吧。

#10


jdbc2.x 支持Row类型,呵呵,您可以买一本《java2数据库编程指南》,
大步头,电子工业出版社wrox丛书,您会很有启发。

#11


同意楼上的

#12


我写过一个用标准sql实现的sql语句,能返回数据表中指定地n到底m条纪录,可惜我侧过,效率好像很低,就不拿出来献丑了

#13


Oracle的rownum不大管用。
它指的是order by以前的顺序。

#14


简单了!先按你的查询条件建立好索引,再用sql分叶查询,每次只要查出需要显示的数据。

#1


1.首先要对数据库的表进行优化,如索引的使用方面等
2.你可以设定每次查询的记录条数,以及从那开始
3.在大型商业网站中,使用的服务器的性能都是十分高的.

#2


同意上述意见!

表设计合理 服务器又做优化了 查询的视图 or sql 又最优化了 那就可以提高效率  接下来 就是选择传输的数据量!

#3



一般情况下肯定是只传一页的内容了,不要把用户不需要的东西交给用户。

再加上楼上的几位意见,应该没什么问题了。

#4


我的表已经做过了优化了,也做过索引了

#5


对,就是只传一页的内容,但我的sql语句怎么写??

#6


你的内容是即时性的 还是内容变化不大的!

还有你的数据库是什么?

有的可以根据rowid来选择哪几条记录!

来肯定要有一个变量来记录当前要的是第几页!
可以去找个jsp 分页的例子来看看!

#7


你的内容是即时性的 还是内容变化不大的!

还有你的数据库是什么?

有的可以根据rowid来选择哪几条记录!

来肯定要有一个变量来记录当前要的是第几页!
可以去找个jsp 分页的例子来看看!

#8


如果是mysql,可以用 limit 3,5 表示从第3条记录开始,取5条。

如果是oracle,可以利用ROWNUM来限制返回的记录数。

具体参考一下你的DB手册或咨询一下你的DBA吧。

#9


如果是mysql,可以用limit来限制返回的记录数,如果是oracle,也有ROWNUM可以用来限制记录数的。

具体请参考一下DB手册或咨询一下你们的DBA吧。

#10


jdbc2.x 支持Row类型,呵呵,您可以买一本《java2数据库编程指南》,
大步头,电子工业出版社wrox丛书,您会很有启发。

#11


同意楼上的

#12


我写过一个用标准sql实现的sql语句,能返回数据表中指定地n到底m条纪录,可惜我侧过,效率好像很低,就不拿出来献丑了

#13


Oracle的rownum不大管用。
它指的是order by以前的顺序。

#14


简单了!先按你的查询条件建立好索引,再用sql分叶查询,每次只要查出需要显示的数据。