我有一個包含許多表的大型數據庫。其中一些表格可能包含email
字段。它們都是varchar(255)的相同類型。我希望能夠做的是將所有表格與電子郵件列一起加入,並獲取數據庫中所有唯一電子郵件的列表。MySQL在共同列上加入多個表格,沒有重要性排序
我的問題是會有多個表與該列,所以我需要它是高性能。第二個問題是afaik,將表連接在一起意味着它們必須具有從第一個表到連接表的共同值。
我希望能夠做一些事情,如:
SELECT
email
FROM
table_1
LEFT JOIN
table_2
USING (email)
LEFT JOIN
table_3
USING (email)
不過,我希望能夠得到來自所有表的電子郵件,無論他們是否在其他表中存在的。
在臨時表中的所有表上進行聯合選擇並選擇不同於它會更快嗎?
我需要能夠在很多表格(10+)上做到這一點,其中可能有數千到數百萬行。如果需要,我會將電子郵件列設置爲INDEX。
感謝
'OUTER JOIN'不需要相同的值在其他表中,但是由於db必須處理'N^T'結果行,因此計算量很大,其中N是電子郵件數量,T是表格數量。 –