ChatGPT解决这个技术问题 Extra ChatGPT

MySQL如何在两个字段上连接表

我有两个带有 dateid 字段的表。我想加入这两个领域。我试过了

JOIN t2 ON CONCAT(t1.id, t1.date)=CONCAT(t2.id, t2.date)

这行得通,但速度很慢。有一个更好的方法吗?


w
womble
JOIN t2 ON t1.id=t2.id AND t1.date=t2.date

C
Chad Birch
JOIN t2 ON (t2.id = t1.id AND t2.date = t1.date)

t
tschumann
SELECT * 
FROM t1
JOIN t2 USING (id, date)

也许您需要使用 INNER JOIN 或者 t2.id 不为 null 如果您希望结果只匹配两个条件


基本上,缓慢是因为具体计算没有索引的新值,因此直接条件应该更快。如果即使这个查询再次变慢,检查是否存在索引,有时为 2 个字段创建一个索引也是有意义的。