現在有一個簡單的情景假設:
資料庫中有兩張表,分別為用戶表user(屬性id name)和用戶意向表userinter(屬性id userid inter,其中userid關聯自user表的id),
現在我要查詢出每個用戶的意向:
join示例:
select a.id,a.name,b.inter from user a join userinter b on a.id=b.userid;
子查詢示例:
select a.id,a.name,(select b.inter from userinter b where b.id=a.id) as yx from user a having yx is not null;
這兩種方式查詢出來的結果是一樣的,網上都說在資料量大的時候推薦用join而不是子查詢,原因是因為子查詢依賴于外層查詢,對于每個外層查詢都要執行一遍子查詢。
那么join是怎么查的?
希望各位網友專家幫忙解答下,不勝感激!
uj5u.com熱心網友回復:
根據關鍵的表欄位之間的關系,進行鏈接查詢,一般建議不使用子查詢uj5u.com熱心網友回復:
這個問題要根據實際的業務場景、資料結構、現有索引、表中的資料量決定,不能一概而論。uj5u.com熱心網友回復:
謝謝回復
uj5u.com熱心網友回復:
謝謝回復
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/51350.html
標籤:MySQL
上一篇:es聚合問題
下一篇:Mysql MGR節點被驅逐
