欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

MySQL存儲(chǔ)引擎中的索引分析

本篇內(nèi)容主要講解“MySQL存儲(chǔ)引擎中的索引分析”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“MySQL存儲(chǔ)引擎中的索引分析”吧!

創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的大興安嶺網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

MySQL存儲(chǔ)引擎中的索引分析

我們知道不同的存儲(chǔ)引擎文件是不一樣,我們可以查看數(shù)據(jù)文件目錄:

show VARIABLES LIKE 'datadir';

每 張 InnoDB 的 表 有 兩 個(gè) 文 件 ( .frm 和 .ibd ),MyISAM 的 表 有 三 個(gè) 文 件 (.frm、.MYD、.MYI)。相關(guān)推薦:mysql視頻教程】

有一個(gè)是相同的文件,.frm。 .frm是 MySQL 里面表結(jié)構(gòu)定義的文件,不管你建表的時(shí)候選用任何一個(gè)存儲(chǔ)引擎都會(huì)生成,我們就不看了。

我們主要看一下其他兩個(gè)文件是怎么實(shí)現(xiàn) MySQL 不同的存儲(chǔ)引擎的索引的。

我們先來(lái)看下 MyISAM。

MyISAM

在 MyISAM 里面,另外有兩個(gè)文件:

一個(gè)是.MYD文件,D 代表 Data,是 MyISAM 的數(shù)據(jù)文件,存放數(shù)據(jù)記錄,比如我們的 user_myisam 表的所有的表數(shù)據(jù)。

一個(gè)是.MYI 文件,I 代表 Index,是 MyISAM 的索引文件,存放索引,比如我們?cè)?id 字段上面創(chuàng)建了一個(gè)主鍵索引,那么主鍵索引就是在這個(gè)索引文件里面。

也就是說(shuō),在 MyISAM 里面,索引和數(shù)據(jù)是兩個(gè)獨(dú)立的文件。那我們?cè)趺锤鶕?jù)索引找到數(shù)據(jù)呢?

MyISAM 的 B+Tree 里面,葉子節(jié)點(diǎn)存儲(chǔ)的是數(shù)據(jù)文件對(duì)應(yīng)的磁盤地址。所以從索引文件.MYI 中找到鍵值后,會(huì)到數(shù)據(jù)文件.MYD 中獲取相應(yīng)的數(shù)據(jù)記錄。

MySQL存儲(chǔ)引擎中的索引分析

這里畫的是主鍵索引,如果是輔助索引,有什么不一樣呢?

在 MyISAM 里面,輔助索引也在這個(gè).MYI 文件里面。 輔助索引跟主鍵索引存儲(chǔ)和檢索數(shù)據(jù)的方式是沒有任何區(qū)別的,一樣是在索引文件里面找到磁盤地址,然后到數(shù)據(jù)文件里面獲取數(shù)據(jù)。

MySQL存儲(chǔ)引擎中的索引分析

InnoDB

InnoDB 只有一個(gè)文件(.ibd 文件),那索引放在哪里呢?

在 InnoDB 里面,它是以主鍵為索引來(lái)組織數(shù)據(jù)的存儲(chǔ)的,所以索引文件和數(shù)據(jù)文件是同一個(gè)文件,都在.ibd 文件里面。

在 InnoDB 的主鍵索引的葉子節(jié)點(diǎn)上,它直接存儲(chǔ)了我們的數(shù)據(jù)。

MySQL存儲(chǔ)引擎中的索引分析

什么叫做聚集索引(聚簇索引)?

就是索引鍵值的邏輯順序跟表數(shù)據(jù)行的物理存儲(chǔ)順序是一致的。(比如字典的目錄是按拼音排序的,內(nèi)容也是按拼音排序的,按拼音排序的這種目錄就叫聚集索引)。

在 InnoDB 里面,它組織數(shù)據(jù)的方式叫做叫做(聚集)索引組織表(clustered index organize table),所以主鍵索引是聚集索引,非主鍵都是非聚集索引。

主鍵之外的索引,比如我們?cè)?name 字段上面建的普通索引,又是怎么存儲(chǔ)和檢索數(shù)據(jù)的呢?

MySQL存儲(chǔ)引擎中的索引分析

InnoDB 中,主鍵索引和輔助索引是有一個(gè)主次之分的。

輔助索引存儲(chǔ)的是輔助索引和主鍵值。如果使用輔助索引查詢,會(huì)根據(jù)主鍵值在主鍵索引中查詢,最終取得數(shù)據(jù)。

比如我們用 name 索引查詢 name= '青山',它會(huì)在葉子節(jié)點(diǎn)找到主鍵值,也就是 id=1,然后再到主鍵索引的葉子節(jié)點(diǎn)拿到數(shù)據(jù)。

另一個(gè)問(wèn)題,如果一張表沒有主鍵怎么辦?

1、如果我們定義了主鍵(PRIMARY KEY),那么 InnoDB 會(huì)選擇主鍵作為聚集索引。

2、如果沒有顯式定義主鍵,則 InnoDB 會(huì)選擇第一個(gè)不包含有 NULL 值的唯一索引作為主鍵索引。

3、如果也沒有這樣的唯一索引,則 InnoDB 會(huì)選擇內(nèi)置 6 字節(jié)長(zhǎng)的 ROWID 作為隱藏的聚集索引,它會(huì)隨著行記錄的寫入而主鍵遞增。

select _rowid name from t2;

所以呢?不會(huì)存在沒有主鍵的表。

到此,相信大家對(duì)“MySQL存儲(chǔ)引擎中的索引分析”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

網(wǎng)站名稱:MySQL存儲(chǔ)引擎中的索引分析
網(wǎng)站網(wǎng)址:http://chinadenli.net/article10/gphgdo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、Google自適應(yīng)網(wǎng)站、小程序開發(fā)、外貿(mào)網(wǎng)站建設(shè)、App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司
国产免费一区二区三区av大片| 免费在线成人激情视频| 日韩黄片大全免费在线看 | 91人妻久久精品一区二区三区| 老外那个很粗大做起来很爽| 亚洲最新一区二区三区| 亚洲精品成人午夜久久| 久草精品视频精品视频精品| 尤物天堂av一区二区| 国产二级一级内射视频播放| 欧美性欧美一区二区三区| 黄片免费播放一区二区| 69老司机精品视频在线观看| 亚洲国产91精品视频| 欧美日韩乱码一区二区三区| 午夜福利视频偷拍91| 午夜福利92在线观看| 出差被公高潮久久中文字幕| 亚洲av熟女国产一区二区三区站 | 成人午夜爽爽爽免费视频| 亚洲熟妇熟女久久精品| 这里只有九九热精品视频| 一区二区免费视频中文乱码国产| 国产一级片内射视频免费播放| 无套内射美女视频免费在线观看 | 九九热精品视频免费在线播放| 亚洲精品伦理熟女国产一区二区| 亚洲熟女国产熟女二区三区| 国产精品午夜小视频观看| 国产成人免费高潮激情电| 色哟哟精品一区二区三区| 久久精品国产亚洲av麻豆尤物| 亚洲欧美日韩综合在线成成| 欧美日韩三区在线观看| 国产麻豆一线二线三线| 亚洲精品小视频在线观看| 国产欧美日韩精品自拍| 风间中文字幕亚洲一区| 最新国产欧美精品91| 国产毛片av一区二区三区小说| 国产91色综合久久高清|