SQL Server在索引中包含地理数据类型

时间:2014-07-02 08:51:46

标签: sql sql-server

是否可以将地理数据类型列作为包含列添加到索引中?

我正在使用SQL Server 2008,该选项显示为灰色!

这真令人讨厌,因为我的查询必须使用聚集索引查找每一行,而不是仅仅从覆盖索引中获取地理值。

我在网上找不到任何关于此的信息。

SQL Server 2012中是否已更改?

1 个答案:

答案 0 :(得分:1)

似乎Management Studio 2008太笨了,无法识别地理数据类型可以作为“包含的列”包含在索引中

编写索引创建脚本适用于地理类型。

CREATE UNIQUE NONCLUSTERED INDEX [IX_mbrAccount_mbrID] ON [dbo].[mbrAccount] 
(
    [mbrID] ASC
)
INCLUDE ( 
    [mbrNickname],
    [geoPosition]
) 
WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON, FILLFACTOR = 95) ON [PRIMARY]

执行计划确认索引正在使用该列。