數據庫優化實踐【MS SQL優化開篇】

  數據庫定義:html

  數據庫是依照某種數據模型組織起來並存在二級存儲器中的數據集合,此集合具備儘量不重複,以最優方式爲特定組織提供多種應用服務,其數據結構獨立於應用程序,對數據的CRUD操做進行統一管理和控制,數據庫是數據管理的高級階段,是在文件系統上發展起來的。sql

  基本結構:數據庫

  數據庫分三個層次:分別爲物理數據層、概念數據層、邏輯數據層。數組

  物理數據層:它是數據庫的最內層,是物理存貯設備上實際存儲的數據的集合。這些數據是原始數據,是用戶加工的對象,由內部模式描述的指令操做處理的位串、字符和字組成。安全

  概念數據層:它是數據庫的中間一層,是數據庫的總體邏輯表示。指出了每一個數據的邏輯定義及數據間的邏輯聯繫,是存貯記錄的集合。它所涉及的是數據庫全部對象的邏輯關係,而不是它們的物理狀況,是數據庫管理員概念下的數據庫。性能優化

  邏輯數據層:它是用戶所看到和使用的數據庫,表示了一個或一些特定用戶使用的數據集合,即邏輯記錄的集合。數據庫不一樣層次之間的聯繫是經過映射進行轉換的。網絡

  數據庫特色:數據結構

  ⑴實現數據共享。併發

  數據共享包含全部用戶可同時存取數據庫中的數據,也包括用戶能夠用各類方式經過接口使用數據庫,並提供數據共享。
  ⑵減小數據的冗餘度。
  同文件系統相比,因爲數據庫實現了數據共享,從而避免了用戶各自創建應用文件。減小了大量重複數據,減小了數據冗餘,維護了數據的一致性。
  ⑶數據的獨立性。
  數據的獨立性包括邏輯獨立性(數據庫中數據庫的邏輯結構和應用程序相互獨立)和物理獨立性(數據物理結構的變化不影響數據的邏輯結構)。
  ⑷數據實現集中控制。
  文件管理方式中,數據處於一種分散的狀態,不一樣的用戶或同一用戶在不一樣處理中其文件之間毫無關係。利用數據庫可對數據進行集中控制和管理,並經過數據模型表示各類數據的組織以及數據間的聯繫。
  ⑸數據一致性和可維護性,以確保數據的安全性和可靠性。
主要包括:①安全性控制:以防止數據丟失、錯誤更新和越權使用;②完整性控制:保證數據的正確性、有效性和相容性;③併發控制:使在同一時間週期內,容許對數據實現多路存取,又能防止用戶之間的不正常交互做用。
  ⑹故障恢復。
由數據庫管理系統提供一套方法,可及時發現故障和修復故障,從而防止數據被破壞。數據庫系統能儘快恢復數據庫系統運行時出現的故障,多是物理上或是邏輯上的錯誤。好比對系統的誤操做形成的數據錯誤等。
  
  數據結構模型
  ⑴數據結構
所謂數據結構是指數據的組織形式或數據之間的聯繫。若是用D表示數據,用R表示數據對象之間存在的關係集合,則將DS=(D,R)稱爲數據結構。例如,設有一個電話號碼簿,它記錄了n我的的名字和相應的電話號碼。爲了方便地查找某人的電話號碼,將人名和號碼按字典順序排列,並在名字的後面跟隨着對應的電話號碼。這樣,若要查找某人的電話號碼(假定他的名字的第一個字母是Y),那麼只須查找以Y開頭的那些名字就能夠了。該例中,數據的集合D就是人名和電話號碼,它們之間的聯繫R就是按字典順序的排列,其相應的數據結構就是DS=(D,R),即一個數組。
  ⑵數據結構種類
數據結構又分爲數據的邏輯結構和數據的物理結構。數據的邏輯結構是從邏輯的角度(即數據間的聯繫和組織方式)來觀察數據,分析數據,與數據的存儲位置無關。數據的物理結構是指數據在計算機中存放的結構,即數據的邏輯結構在計算機中的實現形式,因此物理結構也被稱爲存儲結構。這裏只研究數據的邏輯結構,並將反映和實現數據聯繫的方法稱爲數據模型。
比較流行的數據模型有三種,即按圖論理論創建的層次結構模型和網狀結構模型以及按關係理論創建的關係結構模型
  2.層次、網狀和 關係數據庫系統
  ⑴ 層次結構 模型
層次結構模型實質上是一種有根結點的定向有序樹(在數學中"樹"被定義爲一個無回的連通圖)。下圖是一個高等學校的組織結構圖。這個組織結構圖像一棵樹,校部就是樹根(稱爲根結點),各系、專業、教師、學生等爲枝點(稱爲結點),樹根與枝點之間的聯繫稱爲邊,樹根與邊之比爲1:N,即樹根只有一個,樹枝有N個。
按照層次模型創建的數據庫系統稱爲層次模型數據庫系統。IMS(Information Manage-mentSystem)是其典型表明。
  ⑵網狀結構模型
按照網狀數據結構創建的數據庫系統稱爲網狀數據庫系統,其典型表明是DBTG(Data Base Task Group)。用數學方法可將網狀數據結構轉化爲層次數據結構。
  ⑶關係結構模型
關係式數據結構把一些複雜的數據結構歸結爲簡單的二元關係(即二維表格形式)。例如某單位的職工關係就是一個二元關係。
  
  數據庫類型包括Oracle,MS Sql,Mysql,Nosql,Sybase,Infomix,DB2,VF,Access等數據庫類型,
  
  一個數據庫系統的生命週期能夠分紅:設計、開發和成品三個階段。在設計階段進行數據庫性能優化的成本最低,收益最大。在成品階段進行數據庫性能優化的成本最高,收益最小。
  數據庫的優化一般能夠經過對網絡、硬件、操做系統、數據庫參數和應用程序的優化來進行。最多見的優化手段就是對硬件的升級。根據統計,對網絡、硬件、操做系統、數據庫參數進行優化所得到的性能提高,所有加起來只佔數據庫系統性能提高的40%左右,其他的60%系統性能提高來自對應用程序的優化。許多優化專家認爲,對應用程序的優化能夠獲得80%的系統性能的提高。
  本系列咱們將針對MS SQL數據庫作一些優化方面的實踐:
 
相關文章
相關標籤/搜索