您好,登錄后才能下訂單哦!
本篇內容介紹了“mysql索引的工作原理是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
索引的工作原理
要理解MySQL中索引的工作原理,最簡單的方法就是去看一看一本書的索引部分:比如你想在一本書中尋找某個主題,一般會先看書的索引目錄,找到對應的章節、對應的頁碼后就可以快速找到你想看的內容。
在MySQL中,存儲引擎用類似的方法使用索引,其先在索引中查找對應的值,然后根據匹配的索引記錄找到對應的數據行,最后將數據結果集返回給客戶端。
索引的類型
在MySQL中,通常我們所指的索引類型,有以下幾種:
常規索引,也叫普通索引(index或key),它可以常規地提高查詢效率。一張數據表中可以有多個常規索引。常規索引是使用最普遍的索引類型,如果沒有明確指明索引的類型,我們所說的索引都是指常規索引。
主鍵索引(Primary Key),也簡稱主鍵。它可以提高查詢效率,并提供唯一性約束。一張表中只能有一個主鍵。被標志為自動增長的字段一定是主鍵,但主鍵不一定是自動增長。一般把主鍵定義在無意義的字段上(如:編號),主鍵的數據類型最好是數值。
唯一索引(Unique Key),可以提高查詢效率,并提供唯一性約束。一張表中可以有多個唯一索引。
全文索引(Full Text),可以提高全文搜索的查詢效率,一般使用Sphinx替代。但Sphinx不支持中文檢索,Coreseek是支持中文的全文檢索引擎,也稱作具有中文分詞功能的Sphinx。實際項目中,我們用到的是Coreseek。
外鍵索引(Foreign Key),簡稱外鍵,它可以提高查詢效率,外鍵會自動和對應的其他表的主鍵關聯。外鍵的主要作用是保證記錄的一致性和完整性。
注意:只有InnoDB存儲引擎的表才支持外鍵。外鍵字段如果沒有指定索引名稱,會自動生成。如果要刪除父表(如分類表)中的記錄,必須先刪除子表(帶外鍵的表,如文章表)中的相應記錄,否則會出錯。 創建表的時候,可以給字段設置外鍵,如 foreign key(cate_id) references cms_cate(id),由于外鍵的效率并不是很好,因此并不推薦使用外鍵,但我們要使用外鍵的思想來保證數據的一致性和完整性。
數據庫索引的位置
默認是這里 (數據庫安裝目錄\data\某個數據庫 )中的數據庫文件不像sqlserver,數據庫文件都有后綴
例如:
數據文件:. myd
索引文件:. MYI
表定義文件:. frm
“mysql索引的工作原理是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。