2010-04-12 64 views
-1

哪一个运行速度更快: 有多个连接的查询或使用嵌套选择查询?哪一个运行在MySQL在MySQL

+1

这取决于查询。的 – 2010-04-12 03:45:53

+0

可能重复http://stackoverflow.com/questions/2131368/mysql-embedded-selects-vs-joins – meagar 2010-04-12 03:46:35

+0

@meagar:在您提供它是相当明确的相关子查询和相同的加入,因此有可能作出决定的链接。但在这里没有额外的细节来说明具体的东西或指向任何特定的线程,我想。 – zerkms 2010-04-12 03:50:41

回答

1

鉴于表上的正确的索引,我会去说JOINS将是更好的性能,它始终是测试各种查询性能最佳实践

5

在这种情况下无法回答。你应该分析他们每个人EXPLAIN

+0

这是查询:(它返回60,000条记录) SELECT @row:= @row + 1 AS rowno,t2.no,t3.fname, t3.lame,t2.syear, t2.fcode,t2。 flcode,t2.pid 来自T2 JOIN T3 ON t3.pid = t2.pid JOIN T4 USING(STID) JOIN T5 ON t4.ecode = t5.ecode WHERE t5.cat = '1' ORDER BY T3 .lname,t3.lname 所有表都有索引。 我还没有测试嵌套选择。 – 2010-04-12 04:37:03

+0

请发布一个新的问题......我想它需要一段时间来做一个60k记录文件,它将取决于行大小和许多其他因素,请发布一个新的问题与查询,所有表格的模式和解释计划。 – MarkR 2010-04-13 22:35:57

0

在大多数情况下,JOINS更高效。这假设你加入索引的列。 HOwever,上面的答案是正确的。您需要使用EXPLAIN评估您的特定查询才能看到。