标题:关于struts+hibernate时候对数据库表约束的的问题
只看楼主
farain
Rank: 1
等 级:新手上路
威 望:1
帖 子:80
专家分:0
注 册:2006-2-23
 问题点数:0 回复次数:8 
关于struts+hibernate时候对数据库表约束的的问题
这几天看到大家对数据库表的约束方面的东西很感兴趣,不过,作为开发人员,让数据库来约束些数据,其实是很不正却
的做法,首先,要保证部分数据表的主健,其他的什么主外健关系,不要给数据库表设,想要拥有关系,可以采用hibernate的XML,来配置其关联的关系,为什么数据库中明明可以做关系,而不去在数据库中把关系做好呢?
其实这就是个效率问题,当数据库中的数据少的时候并不能看出其区别,但,当数据库量变大的时候,这就很明显了.查询速度变慢,执行效率明显降低.还有表的索引什么的,也不要加,虽然说查询会快,但会造成数据删除后,数据库无法正常使用 就算用ORACLE数据库,也会出现这种问题.不过,可以使用存储过程来完成部分操作.实在不会弄就写语句吧.

搜索更多相关主题的帖子: 数据库 hibernate struts 
2007-06-06 13:35
farain
Rank: 1
等 级:新手上路
威 望:1
帖 子:80
专家分:0
注 册:2006-2-23
得分:0 
大家都说说自己看法吧!

2007-06-06 13:48
黄袖标
Rank: 4
等 级:贵宾
威 望:13
帖 子:676
专家分:0
注 册:2007-3-22
得分:0 
原来是沈阳的兄弟。算半个老乡了
觉得使用hibernate的这个orm工具的好处是开发人员不用去关心底层的数据库和写那些烦琐的sql语句,只要维护xml配置文件来维持这些关系,有一点我不太赞同,其实hibernate有时候也会生成第三张表来维持某种关联关系的,比如使用hibernate_annotations版本的,应该是3.2的,hibernate就会默认生成一张关系表.
但是效率确实是降低了.毕竟要多维护一张表。但是这些对开发人员来说是透明的,也就是说这些有hibernate自己去做.如果单纯的想提高效率,不同的数据库也有不同的提高效率的策略,其实要想提高效率,用最底层的sql语句跟存储过程等是最高效的.但是维护起来确实是件头疼的事,开发人员还要兼职dba,我本人就为了效率写过底层的sql语句,我当时的那个系统一个月要产生上千万条的记录。其实我个人到是觉得对效率要求不是太高或者数据比较多的话,用java去开发本身就是个错误,java本身就不是高效的.以上是我的一点心得。欢迎各位拍砖

我胡汉三又回来啦!物是人非啊,只有静夜思大大还在。
2007-06-06 14:35
farain
Rank: 1
等 级:新手上路
威 望:1
帖 子:80
专家分:0
注 册:2006-2-23
得分:0 
呵呵,老兄,不提高效率的话,以后如何维护呢?还有,数据越来越大的话,5分钟能得到的结果,变成了半个小时,肯定有这情况吧,JAVA是慢,但慢的是什么时候呢?是JSP第一次运行的时候吧,嘿嘿.其它的时候效率还是挺高的.

2007-06-06 16:38
黄袖标
Rank: 4
等 级:贵宾
威 望:13
帖 子:676
专家分:0
注 册:2007-3-22
得分:0 

lz可能误解了,我的意思是说,如果是一般的应用,完全可以忽略掉那点效率的损失.数据量大的话么,可以采用某些策略,比如ora就提供了分区等策略。


我胡汉三又回来啦!物是人非啊,只有静夜思大大还在。
2007-06-06 16:41
farain
Rank: 1
等 级:新手上路
威 望:1
帖 子:80
专家分:0
注 册:2006-2-23
得分:0 
关键是,时间一长,数据库那头就会出问题.就是因为约束给弄的,索引要重新编译,删完数据还要记录,触发器用上了,就更慢了,哎,做过多少实验了,也做过N多项目了,这些都不让用数据库自身的约束.偶现在做的是对日项目

2007-06-06 16:47
farain
Rank: 1
等 级:新手上路
威 望:1
帖 子:80
专家分:0
注 册:2006-2-23
得分:0 
马上下班了,晚上回家继续探讨

2007-06-06 16:55
黄袖标
Rank: 4
等 级:贵宾
威 望:13
帖 子:676
专家分:0
注 册:2007-3-22
得分:0 
我也下班走人,目前也正在学日语.大家别丢我鸡蛋哦

我胡汉三又回来啦!物是人非啊,只有静夜思大大还在。
2007-06-06 17:04
farain
Rank: 1
等 级:新手上路
威 望:1
帖 子:80
专家分:0
注 册:2006-2-23
得分:0 
个人感觉开发还是用ECLIPSE比较好,JBUILDER快被淘汰了
JBUILDER想整成.NET那样结果失败了.以后版本也基本不会出了.

2007-06-07 09:32



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-145348-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.255062 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved