最近因為某些原因不得不重新配置服務器的環境,當然就是一些簡單的程序運行環境,包括tomcat 、oracle和其他的一些。原本覺得還蠻簡單的東西,但是當我部署完成后在運行程序的過程中發現了一些隱性因數。特別讓我郁悶的就是同一個sql,同樣的數據量在兩個不同的數據庫中執行時間那是一個天壤之別,當時跟網上查詢了一下,得到一下結論:
發生的原因:
1.內存
2.數據庫的優化方式和優化級別
3.I/O吞吐量
4.操作系統參數(緩沖池、進程內存)
5.索引的創建和使用
解決方法:
1.調整數據庫內存:
sqlplus /nolog;
connect / as sysdba;
show parameter sga; (查看內存占用情況)
alter
system
set
sga_max_size=2048m scope=spfile;
注意:sga_max_size不能大於memory_target,不然數據庫啟動失敗。
2.對比數據庫之間的索引,判斷是否正常引用索引
3調整數據優酷的優化方式和優化級別
4、更改系統設置,增大I/O吞吐量
5、查看操作系統參數
這些是目前所能想到了,如果以后還想到了其他的原型在進行修改
