mysql 多表聯(lián)合查詢,mysql多表join怎么優(yōu)化?
from和join均是用于指定需要從哪些表查詢數(shù)據(jù),from可以是一個(gè)表或多個(gè)表,如果是多個(gè)表則是生成一個(gè)笛卡爾集,會(huì)涉及到大量數(shù)據(jù)。所以通常在涉及到多個(gè)表的查詢時(shí),通常通過(guò)join來(lái)拼接多個(gè)表。
join主要是通過(guò)多個(gè)表之間的外鍵關(guān)聯(lián)來(lái)進(jìn)行拼接,注意用于拼接的列需要加上索引,如果沒(méi)有則MySQL也會(huì)默認(rèn)加上,不過(guò)前提是外鍵列和引用的主鍵列需要是相同的數(shù)據(jù)類型,如數(shù)字類型需要是相同的長(zhǎng)度和均是有符號(hào)或無(wú)符號(hào)數(shù),字符串類型長(zhǎng)度可以不一樣。以下分析涉及的表結(jié)構(gòu)如下:用戶表t_user和用戶訂單表t_order,在t_order表的user_id列是引用t_user的id列的外鍵。