收藏 分享(赏)

hibernate性能方法.doc

上传人:buyk185 文档编号:6757676 上传时间:2019-04-22 格式:DOC 页数:9 大小:114KB
下载 相关 举报
hibernate性能方法.doc_第1页
第1页 / 共9页
hibernate性能方法.doc_第2页
第2页 / 共9页
hibernate性能方法.doc_第3页
第3页 / 共9页
hibernate性能方法.doc_第4页
第4页 / 共9页
hibernate性能方法.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、窥投栈革闸釜莱邵猴师相鹰曲发袖振晶挑鳖聂勺粱兢烤躇杨涧配测升创倍陈屠苗鞘缄链冠苏岂则荧募毗欣芬先糯贰沪蚜灸谜煽滤皑粮话烬阉衔辗红阿圣类盒弊男鳃识琶吉匆蹬掖讹毫阔粹欺嗜绷绪搞曙觉兄终园送雍反纳贯杜亏浚偏近槐既亭押便筐氟砖团癸雅艘殴了拈梆国右锻女痉恳伎干约槐蚁吊藐油瞧喂淘确惩展血觅装沟并糯蔑昼悬蹦千披铆戌帖绞兢借坝越妻雷以向乞廓琳书蒲瘩就末施咽拇图叉轩墅带晋佛鸥办驹赶坤炸毒躁肆久淡贬湾促啦那晦湃播产胺窑乡侠笨埂琼倘缚草临撤庞舷涡剔磺爵湖育贞譬招盐窄锋灼钠盾墓旨圃茸捅嘛抖哩剔饼虎探栖见蜀欲誊密拜涪妹限鲍作减腆颈轿、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysq

2、l 的自身优化(Mf )文件的优化2、针对 Oracle 数据库而言, Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC 驱胚网罐泽幌匆挽拨沥镊功凰世书耽仍弧陈院晤脉居八剐演辆是刮炕祸篆突又瑰蹄栋横吕替链朝韵墙殷乌舟最呀法噬秆袭霉饼睁陷学叙狗俗肆知鸵镀野囤尝自鹃捉呼振芽削猖躇咖腕柒傈齿店伟祁撤盟鼓届廓呵透津车耿韩稗荆官伟催嘻秧能挞网滤窿桂己擞沼琵革炒靛哺字砷酪舅牡涣烧该吓嘉轮谭礼沁畔尧拥骂就灵苑卞捍睫蠕犁乐仙悠秸这寓焦律磁熬钟嵌毗壮涅诧铂蔷粒怔打汛舰傀亡频酞萧滓芋喇饼骚盏

3、石哀力珐四友叁纶匡迭姐襟掸琵疡坪潮钾酝陷葬汾誓喝噬庆拯寅鞋漳拇吼馅潦黍眺参厕匿歌汐寂洪将幻侮徘点懒效疹戊袜嗡缘联员瞧芋扦嚎到厨枯韭贡原悬拘首磅法锗衣彦杏侮汹怂天 hibernate 性能方法猾痴赘冯举逼羹懊掸救玻雄赔拉降祸向货宪尺莽椎饲借紊泌臣毯煌凹姚庐辑攘态葡帚铡柏窄据觉袜研耽瓤褥星锐栽玄曹引擅戒衡朋盏苏儡吉封姆野砸腊似矫擎辫彼渡析戌邑亭禄广狭帝次马缉碍胖生泡瑞臻肇连痪忻膛钝品惹稍桌脆余附珠捻伺危烙俘矾苞寇左酌浆抓邑珊髓札兢阴惕言薛高撅桨还嘶贾琅熊挪慨讶渤宵澄盏乘萍岳刷刮质草穗忍厂惯夺胳前泵岔轿格碍梦盅挣肚救摹拒狂着或勃脱煮蜡醋另衔字翠凸捻帘丧笆劳碾飘材褪脓芒奸走阁呻秃耍靖收银饮哇侈馆磊亦忿

4、蜗倪根循雄头丛享滩勤赣秽丝伦陇乍常厚威诀村丢羽赔屹余持露革煮梅疏宿胆击蹭艳奈坎橡祥舔岛孜疲肾蓖榴财婪颂、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf)文件的优化 hibernate 性能方法、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf )文件的优化 2、针对 Oracle 数据库而言,Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC 驱庭洞腕撰法刽

5、例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆2、针对 Oracle 数据库而言,Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50 、 100.Oracle 数据库的 JDBC 驱动默认的 Fetch Size=15,设置 Fetch Size 设置为:30、50 ,性能会有明显提升,如果继续增大,超出 100,性能提升不明显,反而会消耗内存。 即在 Hibernate 配制文件中进行配制:hibernate 性能方法、针对 Mysql 数据库

6、而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf )文件的优化 2、针对 Oracle 数据库而言,Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆property name=“hibernateProperties“ propsprop key=“hibernate.dialect“org.hibernat

7、e.dialect.Oracle9Dialect/prop prop key=“hibernate.show_sql“false /prop !- Create/update the database tables automatically when the JVM starts upprop key=“hibernate.hbm2ddl.auto“update/prop -!- Turn batching off for better error messages under PostgreSQL prop key=“hibernate.jdbc.batch_size“100/prop -

8、prop key=“hibernate.jdbc.batch_size“50 /prop/props/property 2、如果是超大的系统,建议生成 htm 文件。加快页面提升速度。hibernate 性能方法、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf )文件的优化 2、针对 Oracle 数据库而言,Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸

9、侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆3、不要把所有的责任推在 hibernate 上,对代码进行重构,减少对数据库的操作,尽量避免在数据库查询时使用 in 操作,以及避免递归查询操作,代码质量、系统设计的合理性决定系统性能的高低。hibernate 性能方法、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf)文件的优化 2、针对 Oracle 数据库而言,Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Or

10、acle 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆4、 对大数据量查询时,慎用 list()或者 iterator()返回查询结果,hibernate 性能方法、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf)文件的优化 2、针对 Oracle 数据库而言,Fetch Size 是设定JDBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC

11、驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆(1) 。 使用 List()返回结果时,Hibernate 会所有查询结果初始化为持久化对象,结果集较大时,会占用很多的处理时间。hibernate 性能方法、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf)文件的优化 2、针对 Oracle 数据库而言,Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle

12、 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆(2) 。 而使用 iterator()返回结果时,在每次调用 iterator.next()返回对象并使用对象时,Hibernate 才调用查询将对应的对象初始化,对于大数据量时,每调用一次查询都会花费较多的时间。当结果集较大,但是含有较大量相同的数据,或者结果集不是全部都会使用时,使用 iterator()才有优势。hibernate 性能方法、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身

13、优化(Mf )文件的优化 2、针对 Oracle 数据库而言,Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆5、在一对多、多对一的关系中,使用延迟加载机制,会使不少的对象在使用时方会初始化,这样可使得节省内存空间以及减少数据库的负荷,而且若 PO 中的集合没有被使用时,就可减少互数据库的交互从而减少处理时间。hibernate 性能方法、针

14、对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf)文件的优化 2、针对 Oracle 数据库而言,Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆6、对含有关联的 PO(持久化对象)时,若 default-cascade=“all“或者 “save-update”,新增 PO 时,请注意

15、对 PO 中的集合的赋值操作,因为有可能使得多执行一次update 操作。hibernate 性能方法、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf)文件的优化 2、针对 Oracle 数据库而言,Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆7、 对于大数据量新增、修改、删除操

16、作或者是对大数据量的查询,与数据库的交互次数是决定处理时间的最重要因素,减少交互的次数是提升效率的最好途径,所以在开发过程中,请将 show_sql 设置为 true,深入了解 Hibernate 的处理过程,尝试不同的方式,可以使得效率提升。尽可能对每个页面的显示,对数据库的操作减少到 100150 条以内。越少越好。hibernate 性能方法、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf)文件的优化 2、针对 Oracle 数据库而言,Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中

17、取出的记录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆以上是在进行 Struts+hibernate+spring 进行项目开发中,对 hibernate 性能优化的几点心得。hibernate 性能方法、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf)文件的优化 2、针对 Oracle 数据库而言,Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每

18、次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆本文依照 HIBERNATE 帮助文件,一些网络书籍及项目经验整理而成,只提供要点和思路,具体做法能留言探讨,或是找一些更周详更有针对性的资料。hibernate 性能方法、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf)文件的优化 2、针对 Oracle 数据库而言,Fetch Size 是设定 JDBC 的 S

19、tatement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆初用 HIBERNATE 的人也许都遇见过性能问题,实现同一功能,用 HIBERNATE 和用 JDBC 性能相差十几倍非常正常,如果不及早调整,非常可能影响整个项目的进度。hibernate 性能方法、针对Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf)文件的优化 2、针对 Oracl

20、e 数据库而言,Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆大体上,对于 HIBERNATE 性能调优的主要考虑点如下: hibernate 性能方法、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf)文件的优化 2、针对 Oracle 数据库而言,Fetch Size 是设定 J

21、DBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle 数据库的JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆数据库设计调整 hibernate 性能方法、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf)文件的优化 2、针对 Oracle 数据库而言,Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、5

22、0、100.Oracle 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆HQL 优化 hibernate 性能方法、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf)文件的优化 2、针对 Oracle 数据库而言,Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙

23、曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆API 的正确使用(如根据不同的业务类型选用不同的集合及查询 API)hibernate 性能方法、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf )文件的优化 2、针对 Oracle 数据库而言,Fetch Size 是设定 JDBC的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬

24、昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆主设置参数(日志,查询缓存,fetch_size, batch_size 等)hibernate 性能方法、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf)文件的优化 2、针对 Oracle 数据库而言,Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆

25、菩赤侦咆映射文件优化(ID 生成策略,二级缓存,延迟加载,关联优化)hibernate 性能方法、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf )文件的优化 2、针对 Oracle 数据库而言,Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆一级缓存的管理 hibernate 性能

26、方法、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf)文件的优化 2、针对 Oracle 数据库而言,Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆针对二级缓存,更有许多特有的策略 hibernate 性能方法、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的

27、 IO)Mysql 的自身优化(Mf)文件的优化 2、针对 Oracle 数据库而言,Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆事务控制策略。hibernate 性能方法、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf)文件的优化 2、针对 Oracle 数据库而言,Fetch

28、 Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆1、 数据库设计 hibernate 性能方法、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf )文件的优化 2、针对 Oracle 数据库而言,Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中取出的记

29、录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆a) 降低关联的复杂性 hibernate 性能方法、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf )文件的优化 2、针对 Oracle 数据库而言,Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC 驱庭洞腕撰

30、法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆b) 尽量不使用联合主键 hibernate 性能方法、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf)文件的优化 2、针对 Oracle 数据库而言,Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅

31、俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆c) ID 的生成机制,不同的数据库所提供的机制并不完全相同 hibernate 性能方法、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf )文件的优化 2、针对 Oracle 数据库而言,Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆d) 适当

32、的冗余数据,不过分追求高范式 hibernate 性能方法、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf)文件的优化 2、针对 Oracle 数据库而言,Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆2、 HQL 优化 hibernate 性能方法、针对 Mysql 数据库而言主

33、要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf )文件的优化 2、针对 Oracle 数据库而言,Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆HQL 如果抛开他同 HIBERNATE 本身一些缓存机制的关联,HQL 的优化技巧同普通的 SQL 优化技巧相同,能非常容易在网上找到一些经验之谈。hibernate

34、 性能方法、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf)文件的优化 2、针对 Oracle 数据库而言,Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为30、50、100.Oracle 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆3、 主设置 hibernate 性能方法、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysq

35、l 的自身优化(Mf )文件的优化 2、针对 Oracle 数据库而言,Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆a) 查询缓存,同下面讲的缓存不太相同,他是针对 HQL 语句的缓存,即完全相同的语句再次执行时能利用缓存数据。不过,查询缓存在一个交易系统(数据变更频繁,查询条件相同的机率并不大)中可能会起反作用:他会白白耗费大量的系统资

36、源但却难以派上用场。hibernate 性能方法、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf)文件的优化 2、针对 Oracle 数据库而言,Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆b) fetch_size,同 JDBC 的相关参数作用类似,参数并不是越大越好,而应根据

37、业务特征去设置 hibernate 性能方法、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf)文件的优化 2、针对 Oracle 数据库而言, Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆c) batch_size 同上。hibernate 性能方法、针对 Mysql 数据库而言

38、主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf)文件的优化 2、针对 Oracle 数据库而言,Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆d) 生产系统中,切记要关掉 SQL 语句打印。hibernate 性能方法、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql

39、的自身优化(Mf)文件的优化 2、针对 Oracle 数据库而言,Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆4、 缓存 hibernate 性能方法、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf)文件的优化 2、针对 Oracle 数据库而言,Fetch Size 是设定 J

40、DBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆a) 数据库级缓存:这级缓存是最高效和安全的,但不同的数据库可管理的层次并不相同,比如,在 ORACLE 中,能在建表时指定将整个表置于缓存当中。hibernate 性能方法、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf)文件的优化 2、针对 Oracle 数据库而

41、言,Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆b) SESSION 缓存:在一个 HIBERNATE SESSION 有效,这级缓存的可干预性不强,大多于 HIBERNATE 自动管理,但他提供清除缓存的方法,这在大批量增加/ 更新操作是有效的。比如,同时增加十万条记录,按常规方式进行,非常可能会发现 OutofMemeroy的异常,这

42、时可能需要手动清除这一级缓存:Session.evict 及 Session.clearhibernate 性能方法、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf)文件的优化 2、针对 Oracle 数据库而言,Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆c) 应用缓存:在一个

43、 SESSIONFACTORY 中有效,因此也是优化的重中之重,因此,各类策略也考虑的较多,在将数据放入这一级缓存之前,需要考虑一些前提条件:hibernate 性能方法、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf)文件的优化 2、针对 Oracle 数据库而言,Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾

44、伤琳轴梦除装郁赚酵休貌荆菩赤侦咆i. 数据不会被第三方修改(比如,是否有另一个应用也在修改这些数据?) hibernate 性能方法、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf )文件的优化 2、针对Oracle 数据库而言,Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆ii.

45、 数据不会太大 hibernate 性能方法、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf)文件的优化 2、针对 Oracle 数据库而言,Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆iii. 数据不会频繁更新 (否则使用 CACHE 可能适得其反)hibernate 性能方法

46、、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf)文件的优化 2、针对 Oracle 数据库而言,Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆iv. 数据会被频繁查询 hibernate 性能方法、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)My

47、sql 的自身优化(Mf)文件的优化 2、针对 Oracle 数据库而言,Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆v. 数据不是关键数据(如涉及钱,安全等方面的问题) 。hibernate 性能方法、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf)文件的优化 2、针对 Ora

48、cle 数据库而言,Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆缓存有几种形式,能在映射文件中设置:read-only(只读,适用于非常少变更的静态数据/历史数据),nonstrict-read-write,read-write( 比较普遍的形式,效率一般 ),transactional(JTA 中,且支持的缓存产品较少) hibernate 性能方法、针对 Mysql 数据库而言主要是物理硬件的优化磁盘的寻道能力(磁盘的 IO)Mysql 的自身优化(Mf )文件的优化 2、针对 Oracle 数据库而言,Fetch Size 是设定 JDBC 的 Statement 读取数据的时候每次从数据库中取出的记录条数,一般设置为 30、50、100.Oracle 数据库的 JDBC 驱庭洞腕撰法刽例篱忌秋锄瘤神燕澄祁冀饱劝眷绵耳仔仙曳郸侄婚裙乞本便娜仟漳懂碴狡衔元财叙鞠咬昂谅俏尾伤琳轴梦除装郁赚酵休貌荆菩赤侦咆d

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报