que tienen consulta por ejemplo:¿Por qué utilizar SQL Server bucle anidado
SELECT TOP 10
User.id,
User.Name,
Country.Country
FROM User
Inner Join Country
ON Country.Id = User.CountryId
where User.PlanId = 1
En este espectáculo administrador de casos SQL en el plan de ejecución que utilizan Hash-partido y es bastante rápido.
Pero si uso donde User.PlanId = 2 SQL manager uso el bucle anidado para mi consulta y es muy lento ... ¿Por qué con diferentes criterios de búsqueda utiliza algoritmo diferente? ¿Cómo puedo arreglarlo?
También cuántas filas en la tabla, cuántas tienen PlanId = 1, y cuántas tienen PlanId = 2? –
'Country.Id' es una clave principal o al menos única? hmm ... a veces la solución alternativa puede ser usar 'left join' + add condition' y user.countryid no es nulo' .. – Aprillion
Tengo planId = 1 alrededor de 2500 filas y planId = alrededor de 280 filas. Y Country.Id = User.CountryId tiene una relación de uno a uno – Reno