1
尋求避免未來增長的潛在問題(想想成千上萬的表中的記錄)MySQL加入與子查詢與?
我有兩個表格,一個用於存放這些文檔的文檔和其他類別。基本上文檔可以有很多種類。我希望能夠返回所有相應的類別爲一個文件,有點像這樣
doc.id,doc.name,...,類別1,類別2
圖有兩種方法實現這一點
a)加入使用這樣的事情將表連接在一起,然後解析輸出。這裏的問題是,我們將數據複製爲多個類別的文檔,因爲它屬於
SELECT id, name, ..., category
FROM doc
LEFT OUTER JOIN category ON (doc.id = category.docId)
B)子查詢使用蘇格查詢所有類別串連在一起。問題在這裏是一個潛在的性能問題
SELECT
id, name, ....
(SELECT group_concat(category,',') FROM category where category.docId = doc.id) as category
from doc
或任何其他想法可能會更好地工作,記住性能?
根據經驗,在子查詢之前使用JOIN。 Google'加入fu jay管道'。他有一些很好的介紹加強了這一點。 – AgRizzo
個人而言,我發現幾乎沒有用於CONCAT或GROUP_CONCAT。我發現可以在應用程序級別輕鬆管理級聯。 – Strawberry