- 相關推薦
數據庫讀書筆記
讀完某一作品后,相信大家的視野一定開拓了不少,記錄下來很重要哦,一起來寫一篇讀書筆記吧。那么你會寫讀書筆記嗎?下面是小編收集整理的數據庫讀書筆記,歡迎閱讀,希望大家能夠喜歡。
一、存儲優化
物化視圖——物化視圖是包括一個查詢結果的數據庫對象(可由系統定期刷新其中的數據),物化視圖不是在使用時才讀取,而是預先計算并保存表連接或聚集等耗時較多的操作結果,這樣在查詢時大大提高讀取速度,特別適用于多個數據量較大的表進行連接操作及分布式數據庫中需要進行分布在多個站點的表進行連接操作時使用。
物化視圖可以進行遠程數據的本地復制,此時物化視圖的存儲也可以成為快照。主要用于實施數據庫間的同步。
物化視圖對于數據庫客戶端的使用者來說如同一個實際表,具有和表相同的一般select操作,而其實際上是一個視圖,一個定期刷新的數據視圖。物化視圖的刷新可采用自動刷新和人工刷新兩種方式,具體刷新方式和刷新時間在定義物化視圖的時候可以定義。使用物化視圖可以實現視圖的所有功能,因物化視圖不是在使用時才讀取,而大大提高了讀取速度,特別使用抽取大量數據表中某些信息以及分布式環境中跨節點進行多表數據連接的場合。
聚集
二、查詢優化
在數據庫運行初期,數據庫對SQL語句各種寫法的性能優劣還不敏感,但是隨著數據庫正式使用,數據庫中的數據不斷增加,劣質SQL語句和好的SQL語句之間的速度差異就逐漸顯示出來。
合理使用索引
避免和簡化排序:通常在運行order by和group by的SQL語句值,會涉及到排序操作,應當簡化成避免對大型表進行重復排序,因為磁盤排序的開銷是很大的。與內存排序相比,磁盤排序操作很慢,從而會花費很長時間,降低數據庫性能,而且磁盤排序會消耗臨時表空間中的資源。
當能夠利用索引自動以適當的次序產生輸出時,優化器就可以避免不必要的排序步驟,以下是一些影響因素:
(1)由于現有索引的不足,導致排序時索引中不包括一個或幾個待排序的列;
(2)group by或order by子句中列的次序與索引的次序不一樣;
(3)排序的列來源于不同的表。
為了避免不必要的排序,就要正確建立索引,合理地合并數據表(盡管有時可能影響表的規范化,但相對于效率的提高是值得的)。如果排序不可避免,那么應當試圖簡化它,如縮小排序的范圍等。
消除對大型表數據的順序存取:嵌套查詢中,對表的順序存取對查詢效率可能產生致命的影響。避免這種情況的主要方法就是對連接的列進行索引。還可以使用并集來避免順序存取,盡管在所有的檢查列上都有索引,但某些形式的where子句強迫優化器使用順序存取。
避免復雜的正則表達式——在使用正則表達式進行條件查詢時可能消耗較多的CPU資源進行字符匹配工作。
使用臨時表加速查詢——把表的一個子集進行排序并創建臨時表,有時候能加速查詢。它有助于多重排序操作,且在其他方面還能簡化優化器的工作。臨時表中行比主表中的行要少,而且順序就是所要的順序,減少了磁盤的I/O操作,所以查詢工作量可以得到大幅減少。
用排序來取代順序磁盤存取
不充分的連接條件——左(右)連接消耗的資源非常之多,因為它們包含于null數據匹配。比內連接消耗更多的資源。
存儲過程——平時每次向數據庫發送SQL腳本,都需要先編譯后執行。
不要隨意使用游標
事務處理
SQL server性能工具
一、SQL SERVE Rprofiler——監視SQL server事件的工具,監視結果保存在跟蹤文件中。
二、數據庫引擎優化顧問:分析數據庫的工作負荷和物理架構。
【數據庫讀書筆記】相關文章:
自考互聯網數據庫常考知識點12-31
讀書筆記摘抄03-23
《初雪 》讀書筆記08-16
c語言讀書筆記03-23
草葉集讀書筆記06-18
汽車構造讀書筆記08-22
愛心與教育讀書筆記06-18
讀書筆記的寫法指點04-14
護理札記的讀書筆記06-19
英語 讀書筆記(精選16篇)10-24