我想知道执行多个内部连接 VS 多个简单查询的优点(到本地主机,所以带宽和数据包延迟不是问题)。
之前已经提出过这个问题,但大多数人建议这取决于特定的查询,所以这里是我的详细信息:
我有大约 20 个简单的表(其中大多数是 3-5 列),它们都有一个共同的列,我可以将它们加入如下:
SELECT a.id,a.a,GROUP_CONCAT(distinct b.b),GROUP_CONCAT(distinct c.c).....
FROM a JOIN b ON a.id=b.id JOIN c ON b.id=c.id.......
WHERE a.id='foo';
由于我在可能获得多个值时使用 GROUP_CONCAT,所以我只得到一行。
或者,我可以做 20 个简单的选择查询。
您认为哪种方法在时间和 CPU 方面更可取?