當前位置:趣味科普網>經驗>

什麼是反正規化

經驗 閱讀(6.31K)

什麼是反正規化

反正規化是通過增加冗餘資料或資料分組來提高資料庫讀效能的過程。在某些情況下, 反正規化有助於掩蓋關係型資料庫軟體的低效,關係型的正規化資料庫即使做過優化, 也常常會帶來沉重的訪問負載。

資料庫的正規化設計會儲存不同但相關的資訊在不同的邏輯表, 如果這些表的儲存在物理上也是分離的,那麼從幾個表中完成資料庫的查詢可能就會很慢 (比如JOIN操作)。如果JOIN操作的表很多,那麼可能會慢得離譜。 有兩個辦法可以解決這個問題。首選的方法是使邏輯上的設計遵循正規化, 但允許資料庫管理系在磁碟上儲存額外的冗餘資訊來加快查詢響應。 在這種情況下,DBMS還要保證冗餘副本與原始資料的一致性。 這種方法通常在SQL中以索引檢視(微軟的SQL Server)或物化檢視(Oracle)實現。 檢視將資訊表示為方便查詢的格式,索引確保檢視上的查詢進行了優化。