Por que LINQ JOIN é muito mais rápido do que vincular com WHERE?

Recentemente, atualizei para o VS 2010 e estou brincando com LINQ to Dataset. Eu tenho um forte conjunto de dados tipado para autorização que está em HttpCache de um ASP.NET WebApplication. Queria saber qual é a maneira mais rápida de verificar se um usuário está autorizado a fazer algo. Aqui está...