Tengo una consulta relativamente simple que une dos tablas. Los criterios "Dónde" se pueden expresar en los criterios de unión o como cláusula where. Me pregunto cuál es más eficiente.Criterios de filtro SQL en criterios de unión o cláusula where que es más eficiente
La búsqueda consiste en encontrar las ventas máximas para un vendedor desde el principio de los tiempos hasta su promoción.
Caso 1
select salesman.salesmanid, max(sales.quantity)
from salesman
inner join sales on salesman.salesmanid =sales.salesmanid
and sales.salesdate < salesman.promotiondate
group by salesman.salesmanid
Caso 2
select salesman.salesmanid, max(sales.quantity)
from salesman
inner join sales on salesman.salesmanid =sales.salesmanid
where sales.salesdate < salesman.promotiondate
group by salesman.salesmanid
caso de la nota 1 carece de una cláusula que, en conjunto
RDBMS es SQL Server 2005
EDITAR Si el segundo Pieza de el criterio de unión o la cláusula where fue sales.salesdate < una fecha fija, por lo que no es ningún criterio de unión de las dos tablas, eso cambia la respuesta.
¿Qué hay de malo con realmente probar el tiempo que tardan estas consultas? – ChristopheD
Porque la consulta se almacena en caché, pero gracias, realmente – Gratzy
@Gratzy - DBCC FREEPROCCACHE http://msdn.microsoft.com/en-us/library/ms174283.aspx –