最近一直從事的項(xiàng)目中遇到不少性能問題, 雖然表中的數(shù)據(jù)數(shù)量不是太大, 最大也就200萬條, 其他基本都是100萬左右, 但由于存在一個化合物結(jié)構(gòu)信息的數(shù)據(jù)使得數(shù)據(jù)庫特別的大, 就dmp文件就達(dá)到4G多。而客戶對性能要求又比較高。目前遇到問題以及解決方案(并非最佳方案)總結(jié)如下:
1. 多表查詢時候速度慢: 為表之間關(guān)聯(lián)列創(chuàng)建索引, 只取需要數(shù)據(jù)。
2. 多條數(shù)據(jù)批量更新: 盡量使用原生SQL, 少用Hibernate取了循環(huán)再更新。
3. 數(shù)據(jù)量大查詢時候少用upper,lower等類似數(shù)據(jù)提供的功能函數(shù)去轉(zhuǎn)換數(shù)據(jù),可以考慮是否在存入數(shù)據(jù)之前就把所有數(shù)據(jù)改為大寫或者小寫,顯示時候再按要求格式化內(nèi)容。
4. 使用Hibernate時候,把關(guān)聯(lián)關(guān)系盡量設(shè)置成延遲加載,然后使用時候再用fetch取出。
目前先總結(jié)這些, 遇到再加。
posted on 2009-08-05 16:27
周銳 閱讀(370)
評論(0) 編輯 收藏 所屬分類:
Java 、
MySQL 、
Oracle 、
軟件工程