无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

為什么阿里巴巴出的《Java開發(fā)手冊》中禁止在數(shù)據(jù)庫中做多表JOIN呢?

2022-11-26 13:55 作者:任何事人挺好的認同  | 我要投稿

勵志當(dāng)最強課代表的我來給大家總結(jié)總結(jié)??????

為什么《Java開發(fā)手冊》中禁止在數(shù)據(jù)庫中做多表JOIN呢?


視頻內(nèi)容:

1???join??

2??簡單嵌套循環(huán)??


視頻內(nèi)容:

1???join??

因為?join的效率比較低 ,MySQL 是使用嵌套循環(huán)的方式來實現(xiàn)關(guān)聯(lián)查詢的。

簡單的說就是通過兩層循環(huán),用第一張表做外循環(huán),第二張表做內(nèi)。外循環(huán)的每一條記錄都要跟內(nèi)循環(huán)當(dāng)中的所有記錄做比較,符合條件就輸出。

而具體到算法上主要有三種,簡單的嵌套循環(huán)、基于緩存的嵌套循環(huán)以及基于索引的嵌套循環(huán)。而這三種效率其實都不高。

?
00:05
?



2??簡單嵌套循環(huán)??

最差的就是簡單嵌套循環(huán),它的做法簡單粗暴,就是全量掃描連接兩張表的數(shù)據(jù)進行兩對比。

復(fù)雜度可以簡單的認為是 on 方。算法是基于索引的嵌套循環(huán),當(dāng)內(nèi)循環(huán)的表當(dāng)中用到的字段可以用索引的話,那么就會用索引進行查詢數(shù)據(jù)。

因為索引是 B 加數(shù)的,所以可以簡單的認為這個時間復(fù)雜度是 on log N 那基于緩存的嵌套循環(huán)這種算法其實是引入了 buffer 會提前把 Y 循環(huán)當(dāng)中的數(shù)據(jù)放到多個 join buffer 當(dāng)中,內(nèi)循環(huán)的每一行都和多個 buffer 的整體數(shù)據(jù)進行做比較,從而減少內(nèi)循環(huán)的次數(shù)。

復(fù)雜度你可以簡單的理解為 on 乘以 M 這里的 M 指的就是8分的個數(shù)。雖然 MySQL 已經(jīng)盡可能的在做優(yōu)化了,這幾種算法的復(fù)雜度其實還都挺高的。

?
00:45
?




為什么阿里巴巴出的《Java開發(fā)手冊》中禁止在數(shù)據(jù)庫中做多表JOIN呢?的評論 (共 條)

分享到微博請遵守國家法律
天门市| 铜川市| 曲阜市| 宝兴县| 陆川县| 吉安市| 轮台县| 阆中市| 道孚县| 大关县| 湾仔区| 永兴县| 海盐县| 仙游县| 晋宁县| 商城县| 淳化县| 鄂托克前旗| 柳林县| 宣武区| 平陆县| 杂多县| 仙游县| 会同县| 英吉沙县| 汨罗市| 永登县| 获嘉县| 楚雄市| 承德县| 清流县| 吉首市| 公主岭市| 新安县| 新干县| 井陉县| 纳雍县| 济阳县| 阳曲县| 莫力| 鲁山县|