共計 1115 個字符,預計需要花費 3 分鐘才能閱讀完成。
自動寫代碼機器人,免費開通
這篇文章主要介紹了 mysql 索引指的是什么意思,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓丸趣 TV 小編帶著大家一起了解一下。
MySQL 官方對索引的定義為:索引 (Index) 是幫助 MySQL 高效獲取數據的數據結構。我們可以簡單理解為:快速查找排好序的一種數據結構。Mysql 索引主要有兩種結構:B+Tree 索引和 Hash 索引。我們平常所說的索引,如果沒有特別指明,一般都是指 B 樹結構組織的索引(B+Tree 索引)。
索引的類型
索引類型有多種,哈希、BTREE、全文索引等,其實不管什么類型,都是為了在特定業務場景下方便快速查找數據的算法。
例如哈希索引,key-value 形式,最簡單的,書本的目錄也是類似的。
假如有一本書中,我們已知文章標題要找到這篇文章來閱讀,如果沒有目錄,我們就要翻整本書去找標題,
但是如果標題單獨抽出來作為 key,頁碼作為 value 就可以快速找到內容。
顯然書本開頭的目錄是要占用幾頁紙的,建立索引也是要消耗資源的。
BTREE 索引是另一種算法,不同業務場景使用對應索引會更有效率。
就好比新華字典的目錄跟普通的書本目錄不同,新華字典可以通過拼音或者偏旁部首的查詢方法去快速查到字在第幾頁,這也是一種“索引”
還有全文索引等,這里不在描述,例如 solr、elasticsearch 使用的算法可以去研究一下
索引概念
索引本質:索引就是數據庫表中字段值的復制,該字段稱為索引的關鍵字
索引也是一張表,該表保存了主鍵與索引字段,并指向實體表的記錄
索引往往通過復雜的數據結構(雙向鏈表、B+ 樹 / B 樹、hash)實現
MyISAM 存儲引擎的表支持主索引,InnoDB 存儲引擎的表支持聚簇索引 (主索引) 與非聚簇索引 (輔助索引) 索引優化使用
索引的優缺點
@優點:
MySQL 的索引的建立對于 MySQL 的高效運行非常重要,可以大大提高 MySQL 的檢索速度。
在分組和排序字句進行數據檢索, 可以減少查詢時間中 分組 和 排序時所消耗的時間(數據庫的記錄會重新排序)
在表連接的連接條件 可以加速表與表直接的相連
@缺點:
但過多使用索引會造成索引濫用,提高了檢索速度,缺降低了表的更新速度
如:對表進行增刪改查操作時,MySQL 不僅要保存數據,還要保存索引文件,建立索引會占用磁盤空間的索引文件
在創建索引和維護索引 會耗費時間, 隨著數據量的增加而增加
感謝你能夠認真閱讀完這篇文章,希望丸趣 TV 小編分享 mysql 索引指的是什么意思內容對大家有幫助,同時也希望大家多多支持丸趣 TV,關注丸趣 TV 行業資訊頻道,遇到問題就找丸趣 TV,詳細的解決方法等著你來學習!
向 AI 問一下細節
丸趣 TV 網 – 提供最優質的資源集合!