欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql 多表查詢,mysql兩表關(guān)聯(lián)查詢和子查詢的區(qū)別

老白2年前63瀏覽0評(píng)論
mysql 多表查詢,mysql兩表關(guān)聯(lián)查詢和子查詢的區(qū)別?

關(guān)聯(lián)查詢(join)與子查詢(in):

兩者select的時(shí)間復(fù)雜度是一樣的(注:這里的select是指獲得數(shù)據(jù)的方式,個(gè)數(shù))。

唯一不同的是對(duì)于in子查詢它每次執(zhí)行內(nèi)部查詢的時(shí)候都必須重新構(gòu)造一個(gè)JOIN結(jié)構(gòu)(這就是大家常說(shuō)的會(huì)將子查詢轉(zhuǎn)化成where exists(select 1 from a,b where a.id = b.id )),完成相應(yīng)的初始化操作,并且在這次內(nèi)部查詢結(jié)束之后,要完成相應(yīng)的析構(gòu)函數(shù),如index_init,index_end,而當(dāng)外部查詢是全表掃描的時(shí)候,這些操作的次數(shù)就是它的記錄數(shù),那么它們(構(gòu)造,析構(gòu))所占用的性能也是顯而易見的。簡(jiǎn)單一句話子查詢的性能除了查詢外,還消耗在JOIN的構(gòu)造與析構(gòu)過(guò)程。