第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

多表聯(lián)查的sql語(yǔ)句怎么優(yōu)化查詢速度

多表聯(lián)查的sql語(yǔ)句怎么優(yōu)化查詢速度

手掌心 2019-05-03 22:10:03
表-數(shù)據(jù)量:A-15W,B-15W、C-15W、D-90W、E-900WA、B、C表 是一對(duì)一關(guān)系,C到D平均一對(duì)六,D到E平均一對(duì)十SQL:SelectA.F1, A.F2, A.F3, B.F1, B.F2, B.F3, …… E.F1, E.F2, E.F3FromA, B, C, D, EWhereA.id = B.A_idand B.id = C.B_idand C.id = D.C_idand D.id = E.D_idand A.F1 = 'A'and B.F1 = 'B'and E.F1 = 'E'Order by A.F2 desc整個(gè)SQL查下來(lái)要16秒,請(qǐng)教如何優(yōu)化下問(wèn)題補(bǔ)充:各表的id字段是主鍵,外鍵依次關(guān)聯(lián),如B.A_id關(guān)聯(lián)到A表主鍵且各表主鍵、where子句的條件都建立了索引
查看完整描述

3 回答

?
溫溫醬

TA貢獻(xiàn)1752條經(jīng)驗(yàn) 獲得超4個(gè)贊

提一點(diǎn)個(gè)人的看法,因?yàn)椴恢谰唧w的執(zhí)行計(jì)劃是什么所以未必一定有用。
我看你最后的條件中有三個(gè)條件
A.F1 = 'A'
and B.F1 = 'B'
and E.F1 = 'E'
如果執(zhí)行計(jì)劃中這三個(gè)是先查詢的,那么我的想法就沒(méi)用了,如果不是先查詢的,那么個(gè)人局的,可以吧E.F1 = 'E'寫為一個(gè)關(guān)于E表的子查詢,然后再去關(guān)聯(lián),這樣E表的900W數(shù)據(jù)可以先進(jìn)行一遍過(guò)濾,關(guān)聯(lián)的數(shù)據(jù)會(huì)減少一些。AB兩個(gè)表也可以這樣操作,但是具體結(jié)果就不知道了,只能是試驗(yàn)。畢竟語(yǔ)句太簡(jiǎn)單,從語(yǔ)句本身來(lái)說(shuō)沒(méi)什么。
還有一個(gè)就是如果可能的話,是不是可以考慮建立外鍵,前面的關(guān)聯(lián)能看出是一堆專有ID,如果專表的id(比如b表的id,A表的id等)能建主鍵,其他表能建立關(guān)于這個(gè)id的外鍵,那么應(yīng)該也能快一些。

查看完整回答
反對(duì) 回復(fù) 2019-05-03
  • 3 回答
  • 0 關(guān)注
  • 4866 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)