【发布时间】:2012-05-16 20:12:30
【问题描述】:
我有两张桌子。每一个都填充了大约 50K 条记录。两者都有一个共同的领域。我想要公共字段匹配的两个表的记录。所以我使用下面的 SQL 代码。问题是查询现在已经运行了 20 分钟,但什么也没发生。我觉得很奇怪,它花了这么多时间。我想知道是否有更好的方法来实现我的目标。预先感谢您的回复。
我的 SQL 代码:
Select * from tableOne T1, tableTwo T2
Where T1.name = T2.name
顺便说一句,我对 php 解决方案持开放态度(循环或其他更好的...)
【问题讨论】:
-
我想你也可以向我们展示 2 个表的 ddl + 索引 :-)
-
您的表可能没有正确索引。
-
最佳实践是使用
inner join,尽管这不会是这里失败的原因。为什么 MySQL 在标题上,而不是在标签上?您能否提供更多有关您如何使用它的背景信息? -
最佳实践是在询问此类问题时包含 EXPLAIN $your_query 的输出。 (并学习如何解释自己)。你如何加入这两个表与最佳实践无关(只要它是在数据库中完成的——但与你得到的结果有关)