tbl_picklist表優化SQL查詢單表連接
id value
1 John
2 Mumbai
3 San Diego
4 CA
5 Jerry
User表
id picklist_id_name email
1 1 [email protected]
2 8 [email protected]
tbl_profile表
id user_id picklist_id_addr picklist_id_addr2 designation
1 1 3 5 Dev
3 2 7 3 QA
領料是表,你會得到地址的值,地址2和名稱, 我寫了查詢給我所需的資源ULT
SELECT
u.email,
p1.value AS username,
p2.value AS addr1,
p3.value AS addr2
FROM tbl_user u
LEFT JOIN tbl_picklist AS p1
ON u.picklist_id_name = p1.id
LEFT JOIN tbl_profile pr
ON pr.user_id = u.id
LEFT JOIN tbl_picklist AS p2
ON p2.id = pr.picklist_id_addr
LEFT JOIN tbl_picklist AS p3
ON p3.id = pr.picklist_id_addr2
結果:
email username addr1 addr2
[email protected] John Mumbai San Diego
[email protected] Jerry CA Mumbai
爲了獲得上述結果,我需要寫3聯接在領料單表, 還有沒有其他的方式,我可以得到結果只與一個連接上選秀表? 我在應用程序中有這種表結構,很多值存儲在picklist表中,它花費很多時間來執行這種查詢。
問題不在於連接,而是您尚未調整查詢。你有沒有申請任何指數? –
@TimBiegeleisen是的,所有表格上都有索引 – sarvesh
哪些列有索引? –