資料庫分割槽 提高其效能並易於維護

2022-02-28 00:53:17 字數 1235 閱讀 7795

將資料庫分割槽可提高其效能並易於維護。通過將乙個大表拆分成更小的單個表,只訪問一小部分資料的查詢可以執行得更快,因為需要掃瞄的資料較少。而且可以更快地執行維護任務(如重建索引或備份表)。

實現分割槽操作時可以不拆分表,而將表物理地放置在個別的磁碟驅動器上。例如,將表放在某個物理驅動器上並將相關的表放在與之分離的驅動器上可提高查詢效能,因為當執行涉及表之間聯接的查詢時,多個磁頭同時讀取資料。可以使用 microsoft® sql server™ 2000 檔案組指定將表放置在哪些磁碟上。

硬體分割槽

硬體分割槽將資料庫設計為利用可用的硬體構架。硬體分割槽的示例包括: 

允許多執行緒執行的多處理器,使得可以同時執行許多查詢。換句話說,在多處理器上可以同時執行查詢的各個元件,因此使單個查詢的速度更快。例如,查詢內引用的每個錶可同時由不同的執行緒掃瞄。

raid(獨立磁碟冗餘陣列)裝置允許資料在多個磁碟驅動器中條帶化,使更多的讀/寫磁頭同時讀取資料,因此可以更快地訪問資料。在多個驅動器中條帶化的表一般比儲存在乙個驅動器上的相同的表掃瞄速度要快。換句話說,將表與相關的表分開儲存在不同的驅動器上可以顯著提高聯接那些表的查詢的效能。 

水平分割槽

水平分割槽將乙個表分段為多個表,每個表包含相同數目的列和較少的行。例如,可以將乙個包含十億行的表水平分割槽成 12 個表,每個小表代表特定年份內乙個月的資料。任何需要特定月份資料的查詢只引用相應月份的表。

具體如何將表進行水平分割槽取決於如何分析資料。將表進行分割槽是為了使查詢引用盡可能少的表。否則,查詢時須使用過多的 union 查詢來邏輯合併表,而這會削弱查詢效能。有關查詢水平分割槽的表的更多資訊,請參見檢視使用方案。

常用的方法是根據時期/使用對資料進行水平分割槽。例如,乙個表可能包含最近五年的資料,但是只定期訪問本年度的資料。在這種情況下,可考慮將資料分割槽成五個表,每個表只包含一年的資料。

垂直分割槽

垂直分割槽將乙個表分段為多個表,每個表包含較少的列。垂直分割槽的兩種型別是規範化和行拆分。

規範化是個標準資料庫程序,該程序從表中刪除冗餘列並將其放到次表中,次表按主鍵與外來鍵的關係鏈結到主表。

行拆分將原始表垂直分成多個只包含較少列的表。拆分的表內的每個邏輯行與其它表內的相同邏輯行匹配。例如,聯接每個拆分的表內的第十行將重新建立原始行。

與水平分割槽一樣,垂直分割槽使查詢得以掃瞄較少的資料,因此提高查詢效能。例如有乙個包含七列的表,通常只引用該錶的前四列,那麼將該錶的後三列拆分到乙個單獨的表中可獲得效能收益。

應謹慎考慮垂直分割槽操作,因為分析多個分區內的資料需要有聯接表的查詢,而如果分割槽非常大將可能影響效能。

提高資料庫效能

一 問題的提出 在應用系統開發初期,由於開發資料庫資料比較少,對於查詢sql語句,複雜檢視的的編寫等體會不出sql語句各種寫法的效能優劣,但是如果將應用系統提交實際應用後,隨著資料庫中資料的增加,系統的響應速度就成為目前系統需要解決的最主要的問題之一。系統優化中乙個很重要的方面就是sql語句的優化。...

mysql資料庫維護 備份和還原 和效能提高

為了有效防止資料丟失,並將損失降到最低,應對資料庫伺服器做維護。資料庫維護,包括資料備份,還原,匯出和匯入操作。1.mysql資料庫備份 所謂資料庫維護,主要包含備份資料,還原資料和資料庫遷移,對於mysql來說,還包括資料庫物件表的匯出和匯入。1.1 通過複製資料檔案實現資料備份 造成資料損失的原...

如何優化資料庫?提高資料庫的效能

1.對語句的優化 用程式中,保證在實現功能的基礎上,儘量減少對資料庫的訪問次數 通過搜尋引數,儘量減少對錶的訪問行數,最小化結果集,從而減輕網路負擔 能夠分開的操作盡量分開處理,提高每次的響應速度 在資料視窗使用sql時,盡量把使用 的索引放在選擇的首列 演算法的結構盡量簡單 在查詢時,不要過多地使...