我这里有两张表:
ITEMS
ID| DETAILS| .....| OWNER
USERS:
ID| NAME|....Where ITEMS.OWNER = USERS.ID
我列出了这些项目以及它们各自的所有者名称。为此,我可以在两个表上使用连接,也可以选择所有项目并遍历它们,进行sql查询以检索该项目所有者的元组。这是这样的:
使用连接的1个sql查询与1x20个单表sql查询
就速度而言,哪种方法更好?谢谢
发布于 2011-01-21 20:28:14
每个查询都有开销。如果你可以用一个查询做一些事情,那么(几乎)总是用一个查询做得更好。而且大多数数据库引擎都比你聪明。即使以某种方式拆分查询更好,数据库也会自己找出来。
一个开销的例子:如果你执行100个查询,你的应用程序和你的lot服务器之间会有更多的流量。
一般来说,如果你真的想知道一些关于性能的东西,可以对各种方法进行基准测试,测量你感兴趣的参数,并根据becnhmark的结果做出决定。
祝好运!
发布于 2011-01-21 20:21:55
当然,JOIN会更快。
进行20查询将意味着:
items
20
20 index试图在20记录集(每个记录集都有自己的元数据)上查找索引范围的起点。发布于 2011-01-21 20:23:15
执行连接会快得多,也是一种更好的做法
https://stackoverflow.com/questions/4758712
复制相似问题