您好,登錄后才能下訂單哦!
這篇文章主要介紹了mysql索引指的是什么意思,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
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不僅要保存數據,還要保存索引文件,建立索引會占用磁盤空間的索引文件
在創建索引和維護索引 會耗費時間,隨著數據量的增加而增加
感謝你能夠認真閱讀完這篇文章,希望小編分享mysql索引指的是什么意思內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。