亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Mysql單表訪問方法圖文示例詳解

瀏覽:9日期:2023-07-12 19:49:57
目錄訪問方法的概念表結構const訪問方法的概念

設計MySQL的大叔把MySQL執行查詢語句的方式稱為訪問方法(access method)或者訪問類型。同一個查詢語句可以使用多種不同的訪問方法來執行,雖然最后的查詢結果都是一樣的,但是不同的執行方式話費的時間成本可能差距甚大。就像是從北京南鑼鼓巷到什剎海,你可以打車去,也可以坐地鐵去,坐公交去,還可以騎共享單車去,當然也可以走著去。

表結構CREATE TABLE single_table( id int not null auto_increment, key1 VARCHAR(100), key2 int, key3 VARCHAR(100), key_part1 VARCHAR(100), key_part2 VARCHAR(100), key_part3 VARCHAR(100), common_field VARCHAR(100), PRIMARY KEY(id), key idx_key1(key1), unique key uk_key2(key2), key idx_key3(key3), key idx_key_part(key_part1,key_part2,key_part3))engine=INNODB charset=utf8mb4const

有時需要通過主鍵列定位一條記錄,如下:

select * from single_table where id = 12;

MySQL會直接利用主鍵值在聚簇索引中定位對應的用戶記錄,如下:

與之類似,我們根據唯一二級索引列來定位一條記錄的速度也是賊快的。比如下面的查詢:

select * from single_talbe where key2 = 12;

這個查詢的執行過程的示意圖如下:

可以看到這個查詢的執行分為下面兩步:

步驟1. 在uk_key2對應的B+樹索引中,根據key2列與常數的等值比較條件定位到一條二級索引記錄。步驟2. 然后再根據該記錄的id值到聚簇索引中獲取到完整的用戶記錄。

設計MySQL的大叔認為,通過主鍵或者唯一二級索引列與常數的等值比較來定位一條記錄像是坐火箭一樣快的,所以他們把這種通過主鍵或者唯一二級索引列來定位一條記錄的訪問方法定義為const(意思是常數級別的,代價是可以忽略不計的)。不過這種const訪問方法只能在主鍵列或者唯一二級索引列與一個常數進行等值比較時才有效。如果主鍵或者唯一二級索引的索引列由多個列構成,則只有在索引列中的每一個列都與常數進行等值比較時,這個const訪問方法才有效(這是因為只有在該索引的每一個列都采用等值比較時,才可以保證最多只有一條記錄符合搜索條件)。

對于唯一二級索引來說,在查詢列為null值時,情況比較特殊。比如下面這樣:

select * from single_table where key2 is null;

因為唯一二級索引列并不限制null值的數量,所以上述語句可能訪問到多條記錄。也就是說上面這個語句不可以使用const訪問方法來執行。

以上就是Mysql單表訪問方法的詳細內容,更多關于Mysql單表訪問方法的資料請關注好吧啦網其它相關文章!

標簽: MySQL 數據庫
主站蜘蛛池模板: 国产精品v欧美精品v日本精 | 国产日产欧产麻豆精品精品推荐 | 免费国产精品视频 | 日本无翼乌邪恶彩色大全 | 国产双插 | 国产精品久久久久久久久鸭 | 99久久综合狠狠综合久久男同 | 特级黄色一级片 | 国产片欧美片亚洲片久久综合 | 国产精品久久1024 | 国产精品亚洲午夜不卡 | 午夜国产在线视频 | 亚洲精品在线免费观看视频 | 成人伊人网 | 日本福利片 | 国产精品亚洲片在线va | 九九精品热线免费观看6 | 91视频污 | 国产影片中文字幕 | 日韩电影免费在线观看中文字幕 | 色综合久久久久综合99 | 久久久久久免费观看 | 免费观看一级黄色片 | 亚洲欧美日韩中另类在线 | 欧美xxxx69tube8护士 | 特黄一级片 | 国内精品亚洲 | 午夜性刺激免费视频观看不卡专区 | 午夜国产福利在线 | 成人性视频在线三级 | 久久精品国产线看观看亚洲 | 伊甸园久久网站 | 中国一级特黄特爽刺激大片 | 国产成人精品.一二区 | 美日韩一级 | 一级成人a做片免费 | 黄色 在线 | 精品视自拍视频在线观看 | 国产成人深夜福利在线观看 | 女人被免费视频网站 | 亚洲欧美影视 |