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

MySQL如何连接两个字段上的表,mysql,join,Mysql,Join,我有两个带有date和id字段的表。我想在这两个领域都加入。我试过了 JOIN t2 ON CONCAT(t1.id, t1.date)=CONCAT(t2.id, t2.date) 这是可行的,但速度很慢。有更好的方法吗 JOIN t2 ON (t2.id = t1.id AND t2.date = t1.date) 也许您需要使用INNEER JOIN或 其中t2.id不为null 如果您希望结果基本上只匹配两个条件,那么慢是因为具体计算的新值没有索引,所以直接条件应该更快。即使这个查询

我有两个带有
date
id
字段的表。我想在这两个领域都加入。我试过了

JOIN t2 ON CONCAT(t1.id, t1.date)=CONCAT(t2.id, t2.date)
这是可行的,但速度很慢。有更好的方法吗

JOIN t2 ON (t2.id = t1.id AND t2.date = t1.date)
也许您需要使用INNEER JOIN或 其中t2.id不为null
如果您希望结果基本上只匹配两个条件,那么慢是因为具体计算的新值没有索引,所以直接条件应该更快。即使这个查询也会再次变慢,检查是否存在索引,有时为两个字段创建一个索引也是有意义的。
JOIN t2 ON t1.id=t2.id AND t1.date=t2.date
SELECT * 
FROM t1
JOIN t2 USING (id, date)