Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 使用JOIN语句或在WHERE子句中加入JOIN,通常什么更快?_Sql_Database_Join_Query Optimization - Fatal编程技术网

Sql 使用JOIN语句或在WHERE子句中加入JOIN,通常什么更快?

Sql 使用JOIN语句或在WHERE子句中加入JOIN,通常什么更快?,sql,database,join,query-optimization,Sql,Database,Join,Query Optimization,我看到了两种观点,并且读到加入where子句更快 正常连接 SELECT TaskID, ProjectID FROM Task INNER JOIN Project ON Task.ProjectID = Project.ProjectID 加入WHERE子句: SELECT TaskID, ProjectID FROM Task, Project WHERE Task.ProjectID = Project.Proje

我看到了两种观点,并且读到加入where子句更快

正常连接

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

我个人一直使用
internaljoin
,但是遇到了
WHERE
方法。一种方法比另一种快,如果是的话,你能解释一下原因吗;数据库在内部以相同的方式处理它们。请使用现代ansi内部/外部/交叉连接语法;另一种方法在70年代和80年代被大量使用,但在90年代早期,人们反对采用更加一致和不言自明的现代标准


另请参见

如果是这样的话,请将我重定向到该问题。做最具可读性、最具逻辑意义和基准的事情!你自己做测试吗?SQL历史中的“最近遇到where方法”首先出现的是“where方法”,但这不再被认为是最佳实践。继续使用更新的方法。嗨。这是一个常见问题。请总是用谷歌搜索你的问题/问题/目标的许多清晰、简洁和具体的版本/措辞,有或没有你的特定字符串/名称,并阅读许多答案。将发现的相关关键字添加到搜索中。如果你找不到答案,就用一种变体搜索你的标题和标签的关键词。请参见文本上方的向下投票箭头鼠标。当你有一个不重复的代码问题要发布时,请阅读并采取行动。你的评论忽略了它响应的大部分评论。此外,我看不出您如何思考“但不是上面的一个”,因为它开始了“在连接子句和WHERE子句中添加条件之间是否有任何区别(性能、最佳实践等)?这是一个明显的常见问题,请关闭投票,不要回答。