Является ли JOIN быстрее, чем ГДЕ?

Предположим, у меня есть две таблицы, которые связаны между собой (одна имеет внешний ключ к другой):

CREATE TABLE Document (
  Id INT PRIMARY KEY,
  Name VARCHAR 255
)

CREATE TABLE DocumentStats (
  Id INT PRIMARY KEY,
  DocumentId INT, -- this is a foreign key to table Document
  NbViews INT
)

Я знаю, это не самый умный способ делать вещи, но это лучший пример, который я мог бы привести.

Теперь я хочу получить все документы, которые имеют более 500 просмотров. Мне приходят на ум два решения:

SELECT *
FROM Document, DocumentStats
WHERE DocumentStats.Id = Document.Id
  AND DocumentStats.NbViews > 500

или же :

SELECT *
FROM Document
INNER JOIN DocumentStats
ON Document.Id = DocumentStats.Id
WHERE DocumentStats.NbViews > 500

Оба запроса эквивалентны, или есть один способ, который намного лучше, чем другой? Если так, то почему?

Я знаю, что мой пример не идеален, и что запросы могут нуждаться в некоторой настройке, но я надеюсь, что вы поняли;)!

РЕДАКТИРОВАТЬ: как и было запрошено в ответах, этот вопрос был нацелен на MSSQL, но мне было бы интересно узнать, отличается ли он для других механизмов БД (MySQL и т. Д.)

Ответы на вопрос(10)

Ваш ответ на вопрос