高效資料庫的設計原則
讀寫分離原則。這裡的讀寫分離是指,讀多寫少的字段與寫多讀少的字段分開存放於不同的表。按照磁碟的工作原理,磁碟是以扇區為單位存放資料的,並且有寫緩衝、排隊、延遲寫入的特點。資料庫是以記錄為單位的,每次訪問,總是將整行記錄讀入緩衝區,再依命令所需的字段從中篩選資料,組成返回的記錄行。讀寫分離原則能顯著改善磁碟和記錄的快取效能。
高頻與低頻字段分離原則。高頻欄位是指訪問較頻繁的字段,低頻欄位是指訪問頻度較低的字段。不管是高頻字段還是低頻字段,資料庫總是讀取整行記錄,然後篩選。命令中不訪問到的字段,同樣要先讀入記憶體。高低頻分開存放,能減少記錄行讀入的位元組數(寫入也一樣),減少不必要的讀寫。如果部署分布式資料庫,按這個原則作垂直劃分,其效果比單機資料庫的效果更明顯。
為最常用的字段建立索引。當命令中涉及的字段都在某個索引中時,命令執行過程中不需要訪問表資料,僅從索引中獲得所需的字段值,組成記錄返回。
為經常搜尋的字段建立索引。當要搜尋的字段都存在某個索引中時,索引過程只需在索引中作匹配運算,僅當匹配到某個記錄,並且要返回的字段不在索引中時,才從表資料中取回這行記錄。
主鍵越短越好,並且最好是整型。索引是以區為單位存放的,類似於磁碟的扇區。索引樹節點也是以區為單位的。索引的大小,與索引項的大小成正比。索引項的位元組數越少越好。索引項總是定長的,如果索引字段包含可變長欄位(varchar,nvarchar之類的),那麼索引該字段的位元組數是這個欄位的最大可能位元組數。另一方面,在ia-32架構的cpu中,讀寫乙個32位(4位元組)整型值的速度是讀取乙個位元組的2倍!如果讀取乙個100位元組的字串,耗時是讀乙個32位整型的200倍。可見,主鍵的選型,對檢索記錄的效能有非常大的影響。
資料庫設計原則
1.原始單據與實體之間的關係 可以是一對 一 一對多 多對多的關係。在一般情況下,它們是一對一的關係 即一張原始單據對應且只對應乙個實體。在特殊情況下,它們可能是一對多或多對一的關係,即一張原始單證對應多個實體,或多張原始單證對應乙個實體。這裡的實體可以理解為基本表。明確這種對應關係後,對我們設計錄...
資料庫設計原則
1 三正規化規則 1nf 表中的列不可分割。2nf 資料表中的每一行,都應該有唯一的標識。即每一行都應有主鍵區分,不要出現冗餘行 3nf 資料表中的所有非關鍵字段,必須依賴於主鍵。即不要出現冗餘列 總結三正規化的核心思想 不要出現冗餘資料。資料庫設計的核心原則 即要考慮資料庫的儲存空間,又要考慮查詢...
資料庫設計原則
一 成立資料小組 大型資料庫資料元素多,在設計上有必要成立專門的資料小組。由於資料庫設計者不一定是使用者,對系統設計中的資料元素不可能考慮周全,資料庫設計出來後,往往難以找到所需的庫表,因此資料小組最好由熟悉業務的專案骨幹組成。資料小組的職能並非是設計資料庫,而是通過需求分析,在參考其他相似系統的基...