Мне нужно проверить, подходит ли продавец к моим длинным латам или нет. Мне не нужны все те, кто рядом, мне просто нужно знать, находится ли по крайней мере 1 рядом или нет.
Используя следующий запрос:
SELECT *
FROM
(
SELECT TOP 1
Id,
ImagePath,
Title,
Latitude,
Longitude,
'Distance' = dbo.GetHaversineDistance(77.050888, 28.581181, Longitude, Latitude),
[Address],
City,
PinCode,
[State],
Phone,
DateCreated,
DateLastUpdated,
IsDeleted,
MerchantCode
FROM MerchantLocations
ORDER BY Distance
) AS Locations
WHERE Distance <= 50
Несмотря на то, что у меня есть Top 1, я знаюРасчет haversine сделан для всех моих записей в таблице, затем они сортируются по расстоянию, а затем я выбираю Top 1.
Можно ли остановить сканирование таблицы и расчет haversine, если хотя бы 1 записьменее 50? Есть ли способ НЕ делать расчет haversine для всех записей?