在SQL Server上创建空间索引花费的时间太长

时间:2019-05-01 06:39:32

标签: sql sql-server geospatial spatial-query spatial-index

我在SQL Server 2016上有一个具有以下架构的表。我正在尝试在地理位置列上将空间索引创建为create spatial index spatindex on OSM_Nodes(longlat);。但是它已经运行了几个小时。不确定是什么问题。我多次停止执行,并尝试通过右键单击表下的Indexes文件夹直接添加新的空间索引,但仍然是相同的问题。

表架构:

create table OSM_Nodes(
nodeid int NOT NULL PRIMARY KEY,
latitude float,
longitude float,
longlat geography
);

1 个答案:

答案 0 :(得分:0)

我已经在我使用的位置表上实现了空间索引。

CREATE SPATIAL INDEX [SIndx_Geo] ON [my].[Locations]
(
    [Geo]
)USING  GEOGRAPHY_GRID 
WITH (GRIDS =(LEVEL_1 = MEDIUM,LEVEL_2 = MEDIUM,LEVEL_3 = MEDIUM,LEVEL_4 = MEDIUM)

我的查询性能在超过100万行上从45秒提高到0.4秒。该过程只花了几秒钟即可运行