程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> 更多數據庫知識 >> 什麼是數據庫索引 有哪些類型和特點

什麼是數據庫索引 有哪些類型和特點

編輯:更多數據庫知識

有效優化VPS性能,提高VPS服務器運行速度,除了合理配置WEB服務器外,更多的是需要我們能夠很好的優化網站程序及網站數據庫,網站數據庫的優化最為基礎的優化措施就是建立數據庫索引了,這裡就介紹一下,什麼是數據庫索引?有哪些類型和特點?

數據庫索引

  ⑴,什麼是數據庫索引?

  

  數據庫索引是對數據庫表中一列或多列的值進行排序的一種結構,使用索引可快速訪問數據庫表中的特定信息。在數據庫中,索引的含義與日常意義上的“索引”一詞並無多大區別(想想小時候查字典),它是用於提高數據庫表數據訪問速度的數據庫對象。

  

  ①一些情況下,索引還可用於避免排序操作;

  

  ②對於非聚集索引,有些查詢甚至可以不訪問數據頁;

  

  ③索引可以避免全表掃描。多數查詢可以僅掃描少量索引頁及數據頁,而不是遍歷所有數據頁;

  

  ④聚集索引可以避免數據插入操作集中於表的最後一個數據頁。

  

  當然,雖然數據庫索引可以有效提高數據庫數據的查詢速度,但是也會導致數據庫系統更新數據的性能下降,因為大部分數據更新需要同時更新索引。

  

  ⑵,數據庫索引的類型:

  

  數據庫索引好比是一本書前面的目錄,能加快數據庫的查詢速度。根據數據庫的功能,可以在數據庫設計器中創建三種索引:唯一索引、主鍵索引和聚集索引。盡管唯一索引有助於定位信息,但為獲得最佳性能結果,建議改用主鍵或唯一索引。

  

  ①聚集索引,表數據按照索引的順序來存儲的。對於聚集索引,葉子結點即存儲了真實的數據行,不再有另外單獨的數據頁;

  

  ②非聚集索引,表數據存儲順序與索引順序無關。對於非聚集索引,葉結點包含索引字段值及指向數據頁數據行的邏輯指針,該層緊鄰數據頁,其行數量與數據表行數據量一致。

  

  在一張表上只能創建一個聚集索引,因為真實數據的物理順序只可能是一種。如果一張表沒有聚集索引,那麼它被稱為“堆集”(Heap)。這樣的表中的數據行沒有特定的順序,所有的新行將被添加的表的末尾位置。

  

  ⑶,數據庫索引的基本特點:

  

  建立索引的目的是加快對表中記錄的查找或排序。為表設置索引要付出代價的:一是增加了數據庫的存儲空間,二是在插入和修改數據時要花費較多的時間(因為索引也要隨之變動)。數據庫索引就是為了提高表的搜索效率而對某些字段中的值建立的目錄。數據庫索引是建立在數據庫表中的某些列的上面。在創建數據庫索引的時候,應該考慮在哪些列上可以創建索引,在哪些列上不能創建索引。一般來說,應該在這些列上創建索引。

  

  通過對於數據庫索引知識和其基本特點的了解,不難發現,建立和使用數據庫索引,對於提供數據庫系統整體性能有著極為有利的作用,能夠極為有效的加快數據庫數據庫的讀取速度,但同時,也存在著一定的弊端,數據庫索引的創建和維護,以及存儲不僅會耗費大量的時間和精力,同時也會極為消耗VPS服務器的硬盤空間等資源,因此,對於大型數據庫的維護,我們還需要謹慎使用數據庫索引。 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved