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

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

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

瀏覽:3日期: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 數據庫
主站蜘蛛池模板: 成人在线一区二区三区 | 精品自拍视频 | 黄色网页在线播放 | 国产精品推荐 | 91成年人免费视频 | 日本高清中文字幕一区二区三区 | 久久riav国产精品 | 久久午夜精品视频 | 国内视频一区二区三区 | 日本免费不卡一区二区 | 香蕉视频网站免费观视频 | 久久久一区二区三区不卡 | 中文字幕亚洲精品 | 91小视频在线播放 | 国产精品久久久福利 | 污网站大全免费 | 青青成人福利国产在线视频 | 成人欧美午夜视频毛片 | 国产午夜a理论毛片在线影院 | 欧美片能看的一级毛片 | 日韩视频在线观看中字 | 在线免费观看日韩视频 | 欧美不在线| 亚洲激情视频网 | 日韩欧美一区二区三区久久 | 日韩不卡视频在线观看 | 免费a一毛片 | 久久精品国产亚洲香蕉 | 日韩一区在线播放 | 2022国产精品自拍 | 日韩精品中文字幕在线 | 成人免费网站 | 韩国无遮挡三级伦在线大全 | 午夜在线观看cao | 一区二区三区免费在线视频 | 亚州精品一区中文字幕乱码 | 激情自拍网 | 131美女爽爽爽爱做视频 | 一级做a爰片性色毛片黄书 一级做a爰片性色毛片新版的 | 国产日韩第一页 | 亚洲综合丁香婷婷六月香 |