Повышение эффективности SQL-запросов - PullRequest
0 голосов
/ 05 июля 2019

У меня есть запрос, который вычисляет расстояние, он работает, как и ожидалось, однако может потребоваться много времени для запроса с большим количеством точек данных.

Я попытался добавить хэш-распределение distribution =, и это оказало некоторое влияниено не значительные суммы.

CREATE TABLE #POI_PINGS_ALL
        WITH
        (
            DISTRIBUTION=HASH([UUID])
        )
        AS
        SELECT 
                l.[PoiId]
            ,   v.[UUID]
            ,   [CreatedOn]
            ,   v.[Lat]
            ,   v.[Lon]
        FROM #LOCATION_PINGS_COUNCIL_DISTRIBUTED v

        INNER JOIN #POI_LOOKUP l
        ON l.[CouncilId] = v.[CouncilId]

        INNER JOIN #POI p
        ON p.[PoiId] = l.[PoiId]

        WHERE 
            dbo.fn_GetDist(v.[Lat], v.[Lon], p.[Lat], p.[Lon]) <= p.[Radius]

Есть ли более эффективный способ написания этого запроса?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...