使用JOIN语句或加入WHERE子句通常更快吗?

时间:2018-09-21 03:56:51

标签: sql database join query-optimization

我看过两种思想流派,并且读到在where子句中加入Join更快。

普通加入

SELECT
    TaskID,
    ProjectID
FROM 
    Task
INNER JOIN 
    Project ON Task.ProjectID = Project.ProjectID

WHERE子句中加入:

SELECT
    TaskID,
    ProjectID
FROM 
    Task, Project
WHERE 
    Task.ProjectID = Project.ProjectID

我个人一直使用INNER JOIN,但是遇到过WHERE方法。一种方法比另一种方法快吗?如果可以,您能解释为什么吗?

1 个答案:

答案 0 :(得分:2)

都不;数据库在内部对其进行相同处理。请使用现代的ansi INNER / OUTER / CROSS JOIN语法;另一种方法在70年代和80年代被大量使用,但在90年代初期不赞成使用更一致且更具解释性的现代标准

另请参阅Why isn't SQL ANSI-92 standard better adopted over ANSI-89?