久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

MySQL多表關(guān)聯(lián)on和where速度源碼對比分析

130次閱讀
沒有評論

共計(jì) 950 個(gè)字符,預(yù)計(jì)需要花費(fèi) 3 分鐘才能閱讀完成。

今天丸趣 TV 小編給大家分享一下 MySQL 多表關(guān)聯(lián) on 和 where 速度源碼對比分析的相關(guān)知識點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

先說結(jié)論

Where、對等查詢的 join 速度基本一致,不對等查詢時(shí)一般 join 更慢。

實(shí)驗(yàn) 1:不存在不等記錄

我們有兩張表,分別是 member 和 member_class,數(shù)據(jù)結(jié)構(gòu)如下圖,其中 member.class_id 和 member_class.id 是關(guān)聯(lián)字段

我們分別向兩張表寫入了 20 萬條數(shù)據(jù),其中 member.class_id 都一定存在于 member_class.id 中(不存在不等記錄)

查全表

為了實(shí)驗(yàn)更加相對準(zhǔn)確,我們對每條結(jié)果查詢 20 次:

where 查詢耗時(shí)分別為(秒):

0.253, 0.256, 0.256, 0.252, 0.257, 0.252, 0.260, 0.265, 0.253, 0.252, 0.254, 0.257, 0.254, 0.257, 0.243, 0.250, 0.252, 0.252, 0.255, 0.284

on 查詢耗時(shí)分別為(秒):

0.247, 0.260, 0.250, 0.246, 0.271, 0.247, 0.251, 0.247, 0.243, 0.247, 0.247, 0.245, 0.249, 0.246, 0.247, 0.253, 0.248, 0.254, 0.251, 0.247, 0.250

where 查詢平均為 0.2557s,on 查詢平均為 0.2498s;兩者基本一致,相差幾乎可以忽略。

實(shí)驗(yàn) 2:存在不等記錄

我們新建一個(gè) member_v2 表,其中 class_id 只有 20% 是 member_class.id 中存在的

如下圖:

我們繼續(xù)查詢?nèi)頊y試:

能看出來非常明顯的差距,LEFT JOIN 由于存在大量不等記錄,出現(xiàn)大量的 NULL 值,此時(shí)中間表查詢效率變得更低,而選擇 WHERE 查詢能夠在查詢時(shí)自動過濾不等記錄。

所以查詢時(shí)間也更快一些。

以上就是“MySQL 多表關(guān)聯(lián) on 和 where 速度源碼對比分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,丸趣 TV 小編每天都會為大家更新不同的知識,如果還想學(xué)習(xí)更多的知識,請關(guān)注丸趣 TV 行業(yè)資訊頻道。

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-07-13發(fā)表,共計(jì)950字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 翁源县| 梅州市| 阿克陶县| 龙南县| 商洛市| 宜昌市| 沽源县| 富锦市| 凤山市| 通道| 广东省| 莆田市| 华阴市| 安化县| 本溪| 丹巴县| 明水县| 昆明市| 九台市| 凉山| 新乡市| 探索| 东丰县| 蒙阴县| 景德镇市| 陇川县| 阿拉尔市| 恭城| 武乡县| 岢岚县| 开鲁县| 肃北| 独山县| 永仁县| 延津县| 石柱| 来安县| 芮城县| 江门市| 准格尔旗| 建始县|