最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Innodb表select查詢順序

 更新時間:2017年01月01日 20:20:06   作者:wubx  
這篇文章主要介紹了Innodb表select查詢順序的相關(guān)資料,需要的朋友可以參考下

今天知數(shù)堂一個學生反饋說在優(yōu)化課中老師講Innodb是以主鍵排序存儲,讀取的時間以主鍵為順序讀取,但發(fā)現(xiàn)個例外,如下:

CREATE TABLE zst_t1 ( 

uid int(10) NOT NULL AUTO_INCREMENT, 

id int(11) NOT NULL, 

PRIMARY KEY ( uid ), 

KEY idx_id ( id ) 

) ENGINE=InnoDB;'

寫入數(shù)據(jù):

INSERT INTO zst_t1 VALUES (1,1),(12,1),(22,1),(23,1),(33,1),(2,2),(3,2),(10,2),(11,2),(4,4),(13,4),(14,4); 

執(zhí)行查詢:

select * from zst_t1;

為什么這個順序是亂的,不按順序排列呢?難道Innodb表并不是全按主鍵存儲?

使用innodb_ruby這個工具查看一下存儲結(jié)構(gòu)什么樣

看樣子存儲還是按主鍵排序存儲的。沒毛病。

再來看一下該表的索引:

看到這里應(yīng)該明白了怎么會事了吧,原來這個查詢是走的索引覆蓋,沒有在進行回表讀取原數(shù)據(jù)。另外,也在此說明,Innodb二索索引包含了主鍵存儲。

來繼續(xù)證明一下:

看到using index 吧,表示這個查詢利用索引查詢出來結(jié)果,不用讀取原表。

那么我們給造一個通過主鍵讀取數(shù)據(jù)操作:

select * from zst_t1 use index(primary);

select * from zst_t1 use index(primary);  #確認一下。

總結(jié):

這個其實就是一個索引包含的查詢案例。 如果靜下來思考一下,也許很快就明白了。也不用這樣去查問題。

技術(shù)在于折騰,多搞搞就明白了:)。

相關(guān)文章

最新評論

敦化市| 乌恰县| 崇阳县| 宝鸡市| 佳木斯市| 长海县| 邢台县| 武功县| 平塘县| 新野县| 淄博市| 兴文县| 易门县| 辉南县| 栖霞市| 绍兴县| 美姑县| 新宁县| 拜城县| 达孜县| 龙里县| 洛隆县| 舞阳县| 亳州市| 桃江县| 阳朔县| 伊川县| 铁力市| 仪陇县| 建宁县| 民乐县| 田林县| 多伦县| 枣强县| 武山县| 余姚市| 宜良县| 古丈县| 酉阳| 汝城县| 绥阳县|