我有2张这样的表:
表A:
article_id | attribute_id
1 | 5
2 | 6
表B:
attribute_id | attribute_name
5 | foo
6 | bar
我想得到结果:
article_id | attribute_id | attribute_name
1 | 5 | foo
我有2个解决方案: 解决方案A: 要么像这样使用内连接:
SELECT TableA.article_id, TableB.*
FROM TableA
INNER JOIN TableB ON TableA.attribute_id = TableB.attribute_id
WHERE TableA.article_id = 1
或解决方案B,在我的Java程序中:
我想知道性能明智,哪种解决方案更好。 请注意,表A和B将收到大量的点击量。另外,请注意,我正在使用mysql和tomcat。
答案 0 :(得分:4)
这几乎总是“尝试使用您的真实数据,看看哪个更好”。
在 general 中,我希望连接更有效(更多)。但同样,您必须使用 数据和 设置进行尝试。
答案 1 :(得分:1)
连接速度更快,因为新连接有一些开销。
答案 2 :(得分:0)
简短回答:加入。
答案很长:如果你非常关注性能,我会说基于联接创建一个索引视图,并选择它。