日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Oracle數(shù)據(jù)庫優(yōu)化的經(jīng)驗(yàn)總結(jié)

 昵稱10504424 2014-01-16
個人理解,數(shù)據(jù)庫性能最關(guān)鍵的因素在于IO,因?yàn)椴僮鲀?nèi)存是快速的,但是讀寫磁盤是速度很慢的,優(yōu)化數(shù)據(jù)庫最關(guān)鍵的問題在于減少磁盤的IO,就個 人理解應(yīng)該分為物理的和邏輯的優(yōu)化, 物理的是指oracle產(chǎn)品本身的一些優(yōu)化,邏輯優(yōu)化是指應(yīng)用程序級別的優(yōu)化物理優(yōu)化的一些原則:  1)Oracle的運(yùn)行環(huán)境(網(wǎng)絡(luò),硬件等)
  2)使用合適的優(yōu)化器
  3)合理配置oracle實(shí)例參數(shù)
  4)建立合適的索引(減少IO)
  5)將索引數(shù)據(jù)和表數(shù)據(jù)分開在不同的表空間上(降低IO沖突)
  6)建立表分區(qū),將數(shù)據(jù)分別存儲在不同的分區(qū)上(以空間換取時間,減少IO)
 
 
邏輯上優(yōu)化:

  1)可以對表進(jìn)行邏輯分割,如中國移動用戶表,可以根據(jù)手機(jī)尾數(shù)分成10個表,這樣對性能會有一定的作用
  2)Sql語句使用占位符語句,并且開發(fā)時候必須按照規(guī)定編寫sql語句(如全部大寫,全部小寫等)oracle解析語句后會放置到共享池中, 如:
  select * from Emp where name=?這個語句只會在共享池中有一條,而如果是字符串的話,那就根據(jù)不同名字存在不同的語句,所以占位符效率較好
  3)數(shù)據(jù)庫不僅僅是一個存儲數(shù)據(jù)的地方,同樣是一個編程的地方,一些耗時的操作,可以通過存儲過程等在用戶較少的情況下執(zhí)行,從而錯開系統(tǒng)使用的高峰時間,提高數(shù)據(jù)庫性能
  4)盡量不使用*號,如select * from Emp,因?yàn)橐D(zhuǎn)化為具體的列名是要查數(shù)據(jù)字典, 比較耗時
  5)選擇有效的表名
  對于多表連接查詢,可能oracle的優(yōu)化器并不會優(yōu)化到這個程度, oracle 中多表查詢是根據(jù)FROM字句從右到左的數(shù)據(jù)進(jìn)行的,那么最好右邊的表(也就是基礎(chǔ)表)選 擇數(shù)據(jù)較少的表,這樣排序更快速,如果有l(wèi)ink表(多對多中間表),那么將link表放最右邊作為基礎(chǔ)表,在默認(rèn)情況下oracle會自動優(yōu)化,但是如 果配置了優(yōu)化器的情況下,可能不會自動優(yōu)化,所以平時最好能按照這個方式編寫sql
  6)Where字句規(guī)則:
  Oracle 中Where字句時從右往左處理的,表之間的連接寫在其他條件之前,能過濾掉非常多的數(shù)據(jù)的條件,放在where的末尾, 另外!=符號比較的列將不使用索引,列經(jīng)過了計算(如變大寫等)不會使用索引(需要建立起函數(shù)), is null、is not null等優(yōu)化器不會使用索引
  7)使用Exits Not Exits 替代 In Not in
  8)合理使用事務(wù),合理設(shè)置事務(wù)隔離性,數(shù)據(jù)庫的數(shù)據(jù)操作比較消耗數(shù)據(jù)庫資源的,盡量使用批量處理,以降低事務(wù)操作次數(shù)

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多