是否可以将地理数据类型列作为包含列添加到索引中?
我正在使用SQL Server 2008,该选项显示为灰色!
这真令人讨厌,因为我的查询必须使用聚集索引查找每一行,而不是仅仅从覆盖索引中获取地理值。
我在网上找不到任何关于此的信息。
SQL Server 2012中是否已更改?
答案 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]
执行计划确认索引正在使用该列。