- 相關推薦
數(shù)據(jù)庫讀書筆記
導語:讀書筆記是指讀書時為了把自己的讀書心得記錄下來或為了把文中的精彩部分整理出來而做的筆記。以下是數(shù)據(jù)庫讀書筆記的內容,希望你們喜歡!
數(shù)據(jù)庫讀書筆記
一.存儲優(yōu)化
n 物化視圖——物化視圖是包括一個查詢結果的數(shù)據(jù)庫對象(可由系統(tǒng)定期刷新其中的數(shù)據(jù)),物化視圖不是在使用時才讀取,而是預先計算并保存表連接或聚集等耗時較多的操作結果,這樣在查詢時大大提高讀取速度,特別適用于多個數(shù)據(jù)量較大的表進行連接操作及分布式數(shù)據(jù)庫中需要進行分布在多個站點的表進行連接操作時使用。
物化視圖可以進行遠程數(shù)據(jù)的本地復制,此時物化視圖的存儲也可以成為快照。主要用于實施數(shù)據(jù)庫間的同步。
物化視圖對于數(shù)據(jù)庫客戶端的使用者來說如同一個實際表,具有和表相同的一般select操作,而其實際上是一個視圖,一個定期刷新的數(shù)據(jù)視圖。物化視圖的刷新可采用自動刷新和人工刷新兩種方式,具體刷新方式和刷新時間在定義物化視圖的時候可以定義。使用物化視圖可以實現(xiàn)視圖的所有功能,因物化視圖不是在使用時才讀取,而大大提高了讀取速度,特別使用抽取大量數(shù)據(jù)表中某些信息以及分布式環(huán)境中跨節(jié)點進行多表數(shù)據(jù)連接的場合。
n 聚集
二、查詢優(yōu)化
在數(shù)據(jù)庫運行初期,數(shù)據(jù)庫對SQL語句各種寫法的性能優(yōu)劣還不敏感,但是隨著數(shù)據(jù)庫正式使用,數(shù)據(jù)庫中的數(shù)據(jù)不斷增加,劣質SQL語句和好的SQL語句之間的速度差異就逐漸顯示出來。
n 合理使用索引
n 避免和簡化排序:通常在運行order by和group by 的SQL語句值,會涉及到排序操作,應當簡化成避免對大型表進行重復排序,因為磁盤排序的開銷是很大的。與內存排序相比,磁盤排序操作很慢,從而會花費很長時間,降低數(shù)據(jù)庫性能,而且磁盤排序會消耗臨時表空間中的資源。
當能夠利用索引自動以適當?shù)拇涡虍a(chǎn)生輸出時,優(yōu)化器就可以避免不必要的排序步驟,以下是一些影響因素(1)由于現(xiàn)有索引的不足,導致排序時索引中不包括一個或幾個待排序的列;(2)group by或order by 子句中列的次序與索引的次序不一樣;(3)排序的列來源于不同的表。
為了避免不必要的排序,就要正確建立索引,合理地合并數(shù)據(jù)表(盡管有時可能影響表的規(guī)范化,但相對于效率的提高是值得的)。如果排序不可避免,那么應當試圖簡化它,如縮小排序的范圍等。
n 消除對大型表數(shù)據(jù)的順序存。呵短撞樵冎,對表的順序存取對查詢效率可能產(chǎn)生致命的影響。避免這種情況的`主要方法就是對連接的列進行索引。還可以使用并集來避免順序存取,盡管在所有的檢查列上都有索引,但某些形式的where子句強迫優(yōu)化器使用順序存取。
n 避免復雜的正則表達式——在使用正則表達式進行條件查詢時可能消耗較多的CPU資源進行字符匹配工作。
n 使用臨時表加速查詢——把表的一個子集進行排序并創(chuàng)建臨時表,有時候能加速查詢。它有助于多重排序操作,且在其他方面還能簡化優(yōu)化器的工作。臨時表中行比主表中的行要少,而且順序就是所要的順序,減少了磁盤的I/O操作,所以查詢工作量可以得到大幅減少。
n 用排序來取代順序磁盤存取
n 不充分的連接條件——左(右)連接消耗的資源非常之多,因為它們包含于null數(shù)據(jù)匹配。比內連接消耗更多的資源。
n 存儲過程——平時每次向數(shù)據(jù)庫發(fā)送SQL腳本,都需要先編譯后執(zhí)行。
n 不要隨意使用游標
n 事務處理
SQL server性能工具
一、SQL SERVERprofiler——監(jiān)視SQL server 事件的工具,監(jiān)視結果保存在跟蹤文件中。
二、數(shù)據(jù)庫引擎優(yōu)化顧問:分析數(shù)據(jù)庫的工作負荷和物理架構。
【數(shù)據(jù)庫讀書筆記】相關文章:
數(shù)據(jù)庫設計08-13
數(shù)據(jù)庫設計08-06
數(shù)據(jù)庫設計[精選]08-13
數(shù)據(jù)庫設計[薦]08-13
【精品】數(shù)據(jù)庫設計08-13
[通用]數(shù)據(jù)庫設計08-13
數(shù)據(jù)庫設計(必備)08-13
[精]數(shù)據(jù)庫設計08-13
銀行交易數(shù)據(jù)庫設計?07-03