加入两个表时速度很慢的SQL查询,以任何方式提高查询速度?加入两个表时速度很慢的SQL查询,以任何方式提高查询速度?
我有一个小表A和大表B. A有我们需要的所有列,TYPE列除外,TYPE值只能在B中找到。但是B有太多无用的行。
现在我想从A中选择所有行,并且它们应该包含所有列和TYPE。我的想法是使用左连接,因为它可以选择B中存在于A中的所有行,所以我们可以获得TYPE值。
甲骨文:
SELECT B.HOUR, B.LOCATION, B.PRICE, B.TYPE, B.DATE
FROM A LEFT JOIN B
ON A.HOUR=B.HOUR AND A.LOCATION=B.LOCATION AND A.PRICE=B.PRICE AND A.DATE=B.DATE
这是非常缓慢的。此外,我只有读权限,所以我不能创建新表。有什么方法可以改进它吗?谢谢。
表和索引定义请。 – jarlh
确保ON子句中的所有列都被编入索引 – SEarle1986
没有任何权限但只能读取,您无法做太多工作。 – jarlh