久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

mysql索引的工作原理

140次閱讀
沒有評論

共計 1316 個字符,預(yù)計需要花費 4 分鐘才能閱讀完成。

自動寫代碼機器人,免費開通

丸趣 TV 小編給大家分享一下 mysql 索引的工作原理,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

MySQL 中索引的簡介

在 MySQL 中,索引(index)也叫做“鍵(key)”,它是存儲引擎用于快速找到記錄的一種數(shù)據(jù)結(jié)構(gòu)。

索引對于良好的性能非常關(guān)鍵,尤其是當(dāng)表中的數(shù)據(jù)量越來越大時,索引對性能的影響就愈發(fā)重要。

索引優(yōu)化應(yīng)該是對查詢性能優(yōu)化最有效的手段,創(chuàng)建一個真正最優(yōu)的索引經(jīng)常需要重寫 SQL 查詢語句。

索引的工作原理

要理解 MySQL 中索引的工作原理,最簡單的方法就是去看一看一本書的索引部分:比如你想在一本書中尋找某個主題,一般會先看書的索引目錄,找到對應(yīng)的章節(jié)、對應(yīng)的頁碼后就可以快速找到你想看的內(nèi)容。

在 MySQL 中,存儲引擎用類似的方法使用索引,其先在索引中查找對應(yīng)的值,然后根據(jù)匹配的索引記錄找到對應(yīng)的數(shù)據(jù)行,最后將數(shù)據(jù)結(jié)果集返回給客戶端。

索引的類型

在 MySQL 中,通常我們所指的索引類型,有以下幾種:

常規(guī)索引,也叫普通索引(index 或 key),它可以常規(guī)地提高查詢效率。一張數(shù)據(jù)表中可以有多個常規(guī)索引。常規(guī)索引是使用最普遍的索引類型,如果沒有明確指明索引的類型,我們所說的索引都是指常規(guī)索引。

主鍵索引(Primary Key),也簡稱主鍵。它可以提高查詢效率,并提供唯一性約束。一張表中只能有一個主鍵。被標(biāo)志為自動增長的字段一定是主鍵,但主鍵不一定是自動增長。一般把主鍵定義在無意義的字段上(如:編號),主鍵的數(shù)據(jù)類型最好是數(shù)值。

唯一索引(Unique Key),可以提高查詢效率,并提供唯一性約束。一張表中可以有多個唯一索引。

全文索引(Full Text),可以提高全文搜索的查詢效率,一般使用 Sphinx 替代。但 Sphinx 不支持中文檢索,Coreseek 是支持中文的全文檢索引擎,也稱作具有中文分詞功能的 Sphinx。實際項目中,我們用到的是 Coreseek。

外鍵索引(Foreign Key),簡稱外鍵,它可以提高查詢效率,外鍵會自動和對應(yīng)的其他表的主鍵關(guān)聯(lián)。外鍵的主要作用是保證記錄的一致性和完整性。

注意:只有 InnoDB 存儲引擎的表才支持外鍵。外鍵字段如果沒有指定索引名稱,會自動生成。如果要刪除父表(如分類表)中的記錄,必須先刪除子表(帶外鍵的表,如文章表)中的相應(yīng)記錄,否則會出錯。創(chuàng)建表的時候,可以給字段設(shè)置外鍵,如 foreign key(cate_id) references cms_cate(id),由于外鍵的效率并不是很好,因此并不推薦使用外鍵,但我們要使用外鍵的思想來保證數(shù)據(jù)的一致性和完整性。

數(shù)據(jù)庫索引的位置

默認(rèn)是這里(數(shù)據(jù)庫安裝目錄 \data\ 某個數(shù)據(jù)庫)中的數(shù)據(jù)庫文件不像 sqlserver,數(shù)據(jù)庫文件都有后綴

例如:

數(shù)據(jù)文件:. myd

索引文件:. MYI

表定義文件:. frm

以上是“mysql 索引的工作原理”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道!

向 AI 問一下細(xì)節(jié)

丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-12-18發(fā)表,共計1316字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 彝良县| 白沙| 南阳市| 洪泽县| 花莲市| 唐河县| 海丰县| 宁南县| 沾益县| 清丰县| 灵寿县| 郑州市| 稷山县| 华容县| 永清县| 筠连县| 屯留县| 兴安县| 敦煌市| 金坛市| 石棉县| 雅安市| 横山县| 万荣县| 镇赉县| 霍邱县| 华安县| 四会市| 荣成市| 百色市| 项城市| 阜南县| 河间市| 视频| 莫力| 南溪县| 梅河口市| 湘西| 寿宁县| 吉木萨尔县| 白河县|