MS SQL空间索引和执行时间

问题描述 投票:0回答:1

我有下表:

CREATE TABLE [dbo].[CollectionSite](
    [SiteCode] [nvarchar](32) NOT NULL,
    [AddressId] [int] NOT NULL,
    //...
    [Location] [geography] NOT NULL,

表有大约10000条记录。

我有以下linq查询:

        var query = dataContext.CollectionSites
            .Where(cs =>
            cs.IsActive &&
            cs.OpenToPublic);

        var list = query.Where(p => p.Location.Distance(myLocation)<3000000).OrderBy(p => p.Location.Distance(myLocation))
            .ToList();

正在执行大约12-15秒。然后,我尝试创建一个空间索引:

CREATE SPATIAL INDEX SIX_CollectionSite_SiteCode ON CollectionSite([Location]) USING GEOGRAPHY_GRID  

已成功创建。但是执行时间是相同的。为什么索引不起作用?

sql-server indexing geography spatial-index
1个回答
0
投票

您也可以分享执行计划吗?

© www.soinside.com 2019 - 2024. All rights reserved.