日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql索引 聚集索引_MySql数据库索引-聚集索引和辅助索引

發(fā)布時(shí)間:2023/12/15 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql索引 聚集索引_MySql数据库索引-聚集索引和辅助索引 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

InnoDB存儲(chǔ)引擎索引:

B+樹索引:不能找到一個(gè)給定鍵值的具體行,能找到的只是被查找數(shù)據(jù)行所在的頁。然后把頁加載到內(nèi)存,在查詢所要的數(shù)據(jù)。

全文索引:

哈希索引:InnoDB會(huì)根據(jù)表的使用情況自動(dòng)為表生成哈希索引,不能人為的干預(yù)是否在一張表中生成哈希索引

B+樹索引在數(shù)據(jù)庫中的高度一般是2~4層,所以查詢最多需要2到4次IO。

B+樹索引分為聚集索引和輔助索引。聚集索引和輔助索引的區(qū)別是葉子節(jié)點(diǎn)存放的是否是一整行的信息。

聚集索引:按照每張表的主鍵構(gòu)造一棵B+樹,同時(shí)葉子節(jié)點(diǎn)中存放的即為整張表的行記錄數(shù)據(jù),也將聚集索引的葉子節(jié)點(diǎn)稱為數(shù)據(jù)頁。

create table t(

a int not null,

b varchar(8000),

c int not null,

primary key(a),

key indx_c(c)

)engine=InnoDB

insert into t select 1, repeat('a',7000), -1;

insert into t select 2, repeat('a',7000), -2;

insert into t select 3, repeat('a',7000), -3;

insert into t select 4, repeat('a',7000), -4;

輔助索引:葉子節(jié)點(diǎn)并不包含行記錄的全部數(shù)據(jù)。葉子節(jié)點(diǎn)除了包含鍵值以外,每個(gè)葉子節(jié)點(diǎn)的索引行中還包含了一個(gè)書簽。該書簽用于高速存儲(chǔ)引擎哪里可以找到與索引相對(duì)應(yīng)的行數(shù)據(jù)。

舉例說明,如果在一棵高度為3的輔助索引樹中查找數(shù)據(jù),那需要對(duì)這棵輔助索引樹遍歷3次找到指定主鍵,如果聚集索引樹的高度同樣為3,那么還需要對(duì)聚集索引樹進(jìn)行3次查找,最終找到一個(gè)完整的行數(shù)據(jù)所在的頁,因此一共需要6次邏輯IO訪問以得到最終的一個(gè)數(shù)據(jù)頁。

create table t(

a int not null,

b varchar(8000),

c int not null,

primary key(a),

key indx_c(c)

)engine=InnoDB

insert into t select 1, repeat('a',7000), -1;

insert into t select 2, repeat('a',7000), -2;

insert into t select 3, repeat('a',7000), -3;

insert into t select 4, repeat('a',7000), -4;

總結(jié)

以上是生活随笔為你收集整理的mysql索引 聚集索引_MySql数据库索引-聚集索引和辅助索引的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。