希望避免未来增长的潜在问题(想想表中数十万条记录)
我有两个表,一个包含文档,另一个包含这些文档的类别。基本上,文档可以有许多类别。我希望能够返回文档的所有相应类别,有点像
doc.id,doc.name,....,category1,category2
图有两种方法可以实现这个
a)加入使用类似的东西将表连接在一起,然后解析输出。这里的问题是我们将文档的数据复制到属于
的多个类别SELECT id, name, ..., category
FROM doc
LEFT OUTER JOIN category ON (doc.id = category.docId)
b)子查询使用suq查询将所有类别连接在一起。这里的问题是潜在的性能问题
SELECT
id, name, ....
(SELECT group_concat(category,',') FROM category where category.docId = doc.id) as category
from doc
或其他任何可能更有效的想法,牢记性能?
答案 0 :(得分:1)
创建一个视图,这可能是最初的解决方案a)但是如果需要,可以在DB中稍后更改为解决方案b)或c)。这样就不需要更改客户端代码了。