国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

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

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

瀏覽:4日期: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 數據庫
主站蜘蛛池模板: 精品在线视频观看 | 日韩午夜在线视频 | 欧美aaaaaaaaa| 精品国产成人三级在线观看 | 美女张开腿让男人 | 亚洲精选在线观看 | 久久久久久久久久免费视频 | 美国一级做a一级视频 | 亚洲国产成人影院播放 | 美女网站18 | 男人干女人的视频 | 亚洲欧美国产视频 | 美女视频大全视频a免费九 美女视频大全网站免费 | 中文字幕在线永久 | 久久精品一区二区三区中文字幕 | 亚洲欧美日韩国产精品一区 | 毛片网站大全 | 成人性色生活影片 | 香蕉久 | 92自拍视频 | 欧美a级在线 | 日韩视频一区二区 | 久草在线视频免费 | 亚洲国产精品成 | 亚洲品质自拍网站 | 在线看欧美成人中文字幕视频 | 男女乱淫免费视频 | 欧美中日韩在线 | 亚洲精品一区二区久久这里 | 国产亚洲精品日韩已满十八 | 久久精品一区 | 亚洲久久久久 | 特级做a爰片毛片免费看一区 | 在线观看视频一区 | 狠狠色狠狠色综合久久第一次 | 91免费永久在线地址 | 国产成人精品天堂 | 午夜视频国产 | 亚洲一级香蕉视频 | 久久福利资源站免费观看i 久久高清精品 | 草草免费观看视频在线 |