?????? SQL連接查詢的由來(lái) :人們對(duì)20實(shí)際80年代的SQL標(biāo)準(zhǔn)提出批評(píng),認(rèn)為SELECT語(yǔ)句中無(wú)直接的連接或自然連接操作。SQL吸收了這個(gè)意見(jiàn),用較為直接的形式表示各式各樣的連接操作,這些操作可在FROM字句中以直接的形式指出。在書(shū)寫(xiě)兩個(gè)關(guān)系的連接操作時(shí),SQL2把連接操作符分成連接類型和連接條件兩部分(如果圖1)連接類型決定了如何處理連接條件中不匹配的元祖。連接條件決定了兩個(gè)關(guān)系中哪些元祖應(yīng)該匹配,以及連接結(jié)果中出現(xiàn)哪些屬性。
圖1
連接類型 | 連接條件 |
INNER JOIN(內(nèi)連接) | NATURAL(寫(xiě)在連接類型的左邊) |
LEFT OUTER JOIN(左外連接) | ON 寫(xiě)在連接類型的右邊 |
RIGHT OUTER JOIN(右外連接) | USING 寫(xiě)在連接類型的右邊 |
FULL OUTER JOIN(完全外連接) | ? |
? | ? |
?????? SQL join 連接的限制: 出了sql join 連接查詢后,是方便了我們查詢。但是當(dāng)數(shù)據(jù)超過(guò)千萬(wàn)條時(shí)卻不能再用join了因?yàn)榇藭r(shí)如果用join的話速度會(huì)很慢。這就是好多程序員再優(yōu)化程序時(shí)經(jīng)常做的一部。去查找有沒(méi)有過(guò)萬(wàn)的表去join過(guò)萬(wàn)數(shù)據(jù)的表。然后把它拆開(kāi)。這樣會(huì)明顯增加速度。
還有為了增加查詢速度在經(jīng)常用到的字段,還有where后面經(jīng)常用的也可以加一些非聚集索引等來(lái)加快查詢的速度。
?????? 總之大數(shù)據(jù)避免用join連接查詢(因?yàn)橛胘oin的時(shí)候庫(kù)在做笛卡爾基如果數(shù)據(jù)量過(guò)大會(huì)很慢的,甚至卡死)。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
