É um JOIN mais rápido que um ONDE?

Suponha que eu tenha duas tabelas que estão ligadas (uma tem uma chave estrangeira para a outra):

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
)

Eu sei, esta não é a maneira mais inteligente de fazer as coisas, mas este é o melhor exemplo que eu poderia fazer.

Agora, quero obter todos os documentos com mais de 500 visualizações. As duas soluções que me vêm à mente são:

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

ou:

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

Ambas as consultas são equivalentes ou existe uma maneira que é muito melhor que a outra? Se sim, porque?

Estou ciente de que meu exemplo não é perfeito, e que as consultas podem precisar de algum ajuste, mas espero que você tenha entendido;)!

EDIT: como solicitado nas respostas, esta questão foi destinada a MSSQL, mas eu estaria interessado em saber se é diferente para outros mecanismos de banco de dados (MySQL, etc ...)

questionAnswers(9)

yourAnswerToTheQuestion