У меня есть запрос, например:Зачем использовать SQL Server Уплотненного Loop
SELECT TOP 10
User.id,
User.Name,
Country.Country
FROM User
Inner Join Country
ON Country.Id = User.CountryId
where User.PlanId = 1
В этом случае SQL менеджер шоу в плане исполнения, которые используют Хеш-матч, и это довольно быстро.
Но если я использую, где User.PlanId = 2 SQL-менеджер использует вложенный цикл для моего запроса, и он очень медленный ... Почему с разными критериями поиска он использует разные алгоритмы? Как я могу это исправить?
Также, сколько строк в таблице, сколько из них имеет PlanId = 1, и сколько из них имеют PlanId = 2? –
'Country.Id' является первичным ключом или, по крайней мере, уникальным? hmm .. иногда обходным может быть использование 'left join' + add condition', а user.countryid не null'. – Aprillion
У меня есть planId = 1 около 2500 строк и planId = около 280 строк. И Country.Id = User.CountryId имеет отношение один к одному – Reno