為什么要使用MySQL索引?

數據庫系統訪問數據的兩種方式:

(1) 順序訪問

????順序訪問是在表中實行全表掃描,從頭到尾逐行遍歷,直到在無序的行數據中找到符合條件的目標數據。順序訪問實現比較簡單,但是當表中有大量數據的時候,效率非常低下。

(2) 索引訪問

????索引訪問是通過遍歷索引來直接訪問表中記錄行的方式。使用這種方式的前提是對表建立一個索引,在列上創建了索引之后,查找數據時可以直接根據該列上的索引找到對應記錄行的位置,從而快捷地查找到數據。索引存儲了指定列數據值的指針,根據指定的排序順序對這些指針排序。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 通過索引,查詢數據時不用讀完記錄的所有信息,而只是查詢索引列。否則,數據庫系統將讀取每條記錄的所有信息進行匹配。拿漢語字典的目錄頁(索引)打比方,我們可以按拼音、筆畫、偏旁部首等排序的目錄(索引)快速查找到需要的字,如果沒有索引,數據庫系統在查詢時會對內部的庫進行一一比對,因此,使用索引可以很大程度上提高數據庫的查詢速度,還有效的提高了數據庫系統的性能。

索引訪問的優缺點:

????優點:

????????可以快速檢索,減少I/O次數,加快檢索速度;根據索引分組和排序,可以加快分組和排序;

????缺點:

????????索引本身也是表,因此會占用存儲空間,一般來說,索引表占用的空間的數據表的1.5倍;索引表的維護和創建需要時間成本,這個成本隨著數據量增大而增大;構建索引會降低數據表的修改操作(刪除,添加,修改)的效率,因為在修改數據表的同時還需要修改索引表;

推薦:mysql教程

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享