社区
非技术区
帖子详情
用 hibernate处理过单表数据超过千万条数据系统的进来侃侃!
lavendergo
2007-05-17 03:39:24
公司有套系统打算使用hibernate实现持久层,部分表数据量超过千万,具体实现有啥建议或者有啥注意的地方,性能要求比较高
...全文
937
21
打赏
收藏
用 hibernate处理过单表数据超过千万条数据系统的进来侃侃!
公司有套系统打算使用hibernate实现持久层,部分表数据量超过千万,具体实现有啥建议或者有啥注意的地方,性能要求比较高
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
21 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lavendergo
2007-06-04
打赏
举报
回复
并不是说分页写好后,每页设置多少就返回多少,即使你的分页写得再好数据库不支持特殊的sql语法也是没有办法的. 对于一些仍在运行的相对较老版本的db而言select返回给调用端的就是这个select的整个结果集(比如sybase),整个结果集是存储在web server的ram中的,一些优化的db可能会将结果集放在db的ram中.有兴趣的大家可以通过截取网络包来证明一下,到底是返回了100行还是返回了全部结果集
tod_99cn
2007-06-04
打赏
举报
回复
有人可以指点一下吗?? 谢谢
tod_99cn
2007-06-04
打赏
举报
回复
关注,顶一下
没有搞清楚主键和唯一索引在Nibernate中对性能的影响有什么不同?好像看过在Hibernate的说明文档中提过,尽量少用或者不用唯一索引做关联,主推用主键
Marcus-Z
2007-05-29
打赏
举报
回复
不是不可以,完全可以,但是有难度,看你们的经验,技术和架构设计等等了
ABCatai
2007-05-29
打赏
举报
回复
wo ding
lulu123ma
2007-05-26
打赏
举报
回复
数据这么多还要做hibernate??这是你们的技术决策有问题,不是hibernate有问题!
禽兽v5
2007-05-26
打赏
举报
回复
经常见到这种问题,很奇怪发问的人到底有没有写过sql查询分页代码。
因为无论查多少条也只返回一页1~100条,这用什么编程方式都不成问题。
如果真是要显示百万条以上,首先是服务器会崩溃,其次是客户端会崩溃
,和负载量有关,和语言没什么关系。
lavendergo
2007-05-25
打赏
举报
回复
谢谢ls的lizzz, 有个问题想问你一下, 你们的项目里面关联多部多?
我是感觉只使用单表查询可能对性能控制容易一些, 特别是索引的使用上, 比如where条件中字段的顺续等,很容易就破坏了索引的使用,但是有些统计数据必须要连接几张表,只使用单表查询也是很麻烦的,本来一条连接的sql这次要执行n 个单独查询,很矛盾.这时又觉得itabis的结果集映射确实舒服些,不知各位有啥看法??
lizzz
2007-05-25
打赏
举报
回复
我们做的一个银行项目用的就是hibernate,数据千万条不是什么问题。有以下3条经验。
(1)尽量的对关联表使用懒加载的方式;
(2)必须分页,否则即使虚拟机设置1.5G内存同样狂抛内存溢出。
(3)使用3.1以后版本的hibernate,之前版本对中文支持会导致海量的Class.forName操作,同时耗尽内存。
trueyellow
2007-05-25
打赏
举报
回复
1、HQL可以很容易实现多表连接查询吧。
2、内存溢出一般是Cache没清理的缘故,跟lazy load没关系。不清Cache经常会out of memory。
再,Hibernate不保证在有第三方程序的情况下Cache与DB的同步,这跟Entity bean是完全不一样的。总之,依赖二级Cache是很危险的。
3、建立关联可以让程序赏心悦目,不过请注意hibernate reference有关章节的最后一句话:"更实用的是使用HQL." ---当然,建立关联跟HQL查询不是冲突的,HQL同样可以从关联中得到好处。
4、如果建立了关联,必须要注意N+1删除问题。
lavendergo
2007-05-24
打赏
举报
回复
了解一下, 大家在用hibernate开发时设置的one-many,many-to-one等这样的关联多否??
还是绝大部分情况下都不设置关联,自己写代码维护这些关联呢?? 这些关联有时候很扰乱视听~~
对于数据较多的表还会设置one-many,one-many之类的关联??
fxbird
2007-05-24
打赏
举报
回复
mark
coolzyt
2007-05-24
打赏
举报
回复
数据越多越要用hibernate
因为hibernate提供了对象池缓存,大多数的时候都是直接从内存中取数据出来。
尽量使用单表查询,即使要做很多次查询,也比一个hql查出来性能要高,而且这样更容易命中缓存
zhuxr2003
2007-05-23
打赏
举报
回复
像google,查询上万亿的超海量数据,居然只要几毫秒就能返回结果,不知道怎么做的.
glseda
2007-05-23
打赏
举报
回复
又不是要每秒查询千万条
duke136
2007-05-22
打赏
举报
回复
大不了做临时表,不用担心,没问题的。
Rachael1001
2007-05-18
打赏
举报
回复
千万条数据太恐怖了吧
hql可不可以应付是个问题
持久层就是耗内存
我也想知道可不可以处理千万条数据
YuLimin
2007-05-18
打赏
举报
回复
千万条数据也不怕啊,电信计费的系统我们都用它,你又不是一下子返回很多数据。
lavendergo
2007-05-18
打赏
举报
回复
当然,也不是没个表都是超过千万,但是对于那些超过的表进行查询统计报表的时候效率怎么样呢?
lavendergo
2007-05-17
打赏
举报
回复
持久层具体实现还未定,原来一只是自己简单封装一下jdbc.
itabis 不是很熟,如果是ibatis的话有没有什么注意的地方啊? 比如缓存什么的
加载更多回复(1)
hibernate
3.3.1的jar包
hibernate
3.3.1的jar包!!
hibernate
3.3.1的jar包
hibernate
3.3.1的jar包
hibernate
3.3.1的jar包
hibernate
jar包程序文件
hibernate
-commons-annotations-4.0.1.Final.jar
hibernate
-core-4.1.12.Final.jar
hibernate
-ehcache-4.1.12.Final.jar
hibernate
-entitymanager-4.1.12.Final.jar
hibernate
-jpa-2.0-api-1.0.1.Final.jar
hibernate
-search-4.2.0.Final.jar
hibernate
-search-analyzers-4.2.0.Final.jar
hibernate
-search-engine-4.2.0.Final.jar
hibernate
-search-orm-4.2.0.Final.jar
hibernate
-validator-5.0.1.Final.jar
Maven+Struts2+Spring4+
Hibernate
4+Bootstrap客户关系系统视频
CRM客户关系管理系统的管理理念始终是以客户为中心的,不同的管理系统有着自己不同的
数据
处理
方式,因此企业在构建自己的客户关系管理
数据
库时需要注意系统的特性和其他企业管理软件的协调。 对于中小型企业在客户关系管理系统上的应用,可有助于企业对客户信息管理混乱状态的改善,加强了企业和客户之间的联系,因此下面是中小企业在面对客户关系管理系统时所需的需求
SSH三大框架经典入门教程【PDF清晰版】
本教程共有4章,以非常通俗易懂的方式,向我们介绍Struts、Spring、
Hibernate
三大现在比较流行的JAVA_WEB开发框架,非常适合刚刚接触的朋友快速入门。 chap01 领略清晰的MVC流程----Struts讲解技术资料.pdf chap02 体验控制反转的理念----Spring介绍技术文档.pdf chap03 感悟
Hibernate
操作
数据
的方便技术资料.pdf chap04 SSH互整合技术资料.pdf
使用
Hibernate
如何获得
数据
库表中的
数据
总量
使用
Hibernate
如何获得
数据
库表中的
数据
总量最近在学习JAVA的过程中使用到了
Hibernate
,发现它是一个很好的东东,使用它可以很easy的对
数据
库进行访问和操作。今天在使用
Hibernate
的时候需要对获取一张
数据
库表的
数据
总条数,在这里记录一下获取
数据
总条数的办法。方法其实很简单,如下代码:public int count() { // 得到当前会话 Session s
非技术区
23,404
社区成员
70,596
社区内容
发帖
与我相关
我的任务
非技术区
Java 非技术区
复制链接
扫一扫
分享
社区描述
Java 非技术区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章