我有下表:
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
已成功创建。但是执行时间是相同的。为什么索引不起作用?
您也可以分享执行计划吗?