Normalization

模式規範化是否提高了查詢效率

  • May 23, 2015

我了解規範化在減少數據冗餘和各種異常方面的重要性,但我想知道它是否也可以提高您的查詢性能?

這取決於實際情況。

如果規範化導致您將關係拆分為多個表,並且如果您使用為數據庫定義的主鍵和外鍵建構這些表以便正確索引它們,那麼從這個意義上說查詢性能得到了增強。

同樣,如果您的表不在 1NF 中,您可能必須進行昂貴的表掃描和文本解析才能在多值列中查找特定數據項的範例。在 3NF 中,可以對該列進行索引,從而提高查詢效率。

值得注意的是,由於相同的原因和相同的情況,規範化您的模式還可以使您的查詢更簡單、更容易維護。

另一方面,當數據變成靜態數據(例如歷史數據)時,通常會對其進行非規範化以加快檢索速度。這通常採用預先計算值的形式,尤其是匯總值。這就是數據倉庫的方法。這是一個很好的做法,只要數據插入/更新/刪除異常的風險非常、非常低或易於管理。

引用自:https://dba.stackexchange.com/questions/102249