Я знаю, что мой запрос ниже только что попало, и это занимает 2 минуты, чтобы получить 10 записей (список таблица имеет более 1M записей, хотя), но я не уверен, Что лучший способ, чтобы написать этуInner присоединиться отчетливый медленно
Я просто хотим просто получить все страны, которые имеют списки таблицы, которая соединяет страны перечислений области ..
ALTER VIEW [dbo].[CountriesWithListings]
AS
SELECT distinct
cn.CountryID,
cn.Code as CountryCode,
cn.Name as CountryName
FROM dbo.Countries AS cn
INNER JOIN dbo.Provinces AS p ON p.CountryID = cn.CountryID
INNER JOIN dbo.Cities c on c.ProvinceID = p.ProvinceID
INNER JOIN dbo.Listings AS l ON l.CityID = c.CityID
WHERE l.IsActive = 1 AND l.IsApproved = 1
ли включать имя базы данных и версии. –
Также вам нужно включить 'EXPLAIN' для запроса, количество строк без DISTINCT было бы минимальным, если вы укажете в заголовке, что отличительная черта является проблемой. –
Удалите отдельные, выберите только dbo.Countries и переместите остальные в EXISTS. – jarlh