提高SQL查询效率

时间:2019-07-05 10:13:31

标签: sql-server

我有一个可以计算距离的查询,它可以按预期工作,但是查询大量数据点可能需要很长时间。

我尝试添加distribution = hash,但产生了一些影响,但影响不大。

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]

有没有更有效的方式编写此查询?

0 个答案:

没有答案