专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

如何使用使用分页查询来适应挖掘海量数据呢_数据库

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/3/5 13:50:30       共计:3601 浏览

如何使用使用分页查询来适应挖掘海量数据呢?

数据挖掘各类算法中,常常需要遍历整个数据库(表)。现实中的数据库可能十分大,往往不可能通过一个简单的Select *的方式遍历提取数据表内的所有元组。直接用Select * 的方式存在两大问题,一是Select *过后,可能要等很久数据库才能将所有信息提交完毕,第二是得到的结果可能是很大,远远超过内存的限制。

现在各种主流的数据库都支持了分页查询的方式。

以Oracle为例,通过rownum关键字可以获取指定的行区间。

比如:

Select * from XX。TABLE1 where rownum = 50;

以MySQL为例,提供了limit关键字,更加方便获取中间某区间的行数据。

比如: Select * from TABLE1 limit 50,100。 MySQL的limit关键字用起来比Oracle要方便一些。不过各个数据库的分页查询的速度我倒没有研究过,网上听一些高手们说,Oracle提供的分页查询效率要高一些。

Hibernate这样的数据持久层提供的分页查询,可以屏蔽掉各个不同的数据库之间具体SQL实现差异。

Hiberante这样的数据持久层工具一大好处就是可以屏蔽掉不同数据库的之间的某些细节差异。

分页查询在不同的数据库上实现的SQL不一样,所以要统一,最好使用Hibernate这样的工具。

Query q = session。createQuery("from Cat as c");

q。

setFirstResult(50);

q。setMaxResults(100);

List l = q。list();

网上到处都可以搜寻到关于Hibernate内部实现分页查询的解读的文章。

可以看到,Hibernate内部也是通过rownum,limit这些关键字来实现分页的。

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:mysql首次数据查询,如何开启MySQL慢查询日志_数据库 | ·下一条:Python数据库中怎样创建请求连接_数据库

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有