加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – 使用空间索引

发布时间:2020-12-12 16:56:14 所属栏目:MsSql教程 来源:网络整理
导读:我想学习如何在SQL SERVER 2012中使用空间索引.我有一些非常耗时的查询,所以我需要它. 我将非常感谢一些例子和解释. 谢谢! 解决方法 之前,我在SQLBits会议上发表了一个会话,您可能会发现有帮助.您仍然可以在以下网址查看视频和slippingeck: http://sqlbits.
我想学习如何在SQL SERVER 2012中使用空间索引.我有一些非常耗时的查询,所以我需要它.

我将非常感谢一些例子和解释.

谢谢!

解决方法

之前,我在SQLBits会议上发表了一个会话,您可能会发现有帮助.您仍然可以在以下网址查看视频和slippingeck: http://sqlbits.com/Sessions/Event5/Creating_High_Performance_Spatial_Databases

简而言之:

>空间索引与SQL Server中的群集和非群集索引完全不同.
它们通过为空间查询提供“主要过滤器”来工作 – 空间索引使用网格来选择可能的候选结果的近似集合,但可能包括误报.
>次级过滤器然后消除假阳性以获得查询的真实结果集.
>获取快速执行空间查询的关键是创建一个准确(即很少的假阳性)但小(即不需要搜索的记录太多)的索引,以便大部分工作由主过滤器完成,不是更贵的二次过滤器.
>您可以使用SQL Server Management Studio或使用CREATE INDEX T-SQL语句在几何/地理数据列上创建空间索引.但是,该索引可能不总是在查询中自动使用.要检查是否正在使用空间索引,请查看“集群索引搜索(空间)”项目的查询执行计划.
>要确保使用空间索引来完成查询,您可以通过在SELECT语句中包含符合表名称的WITH(index(YourSpatialIndex))来添加明确的索引提示.

有几个特定于空间索引的设置可能会影响主要过滤器的性能.首先,我建议您遵守默认值,即所有四级网格的MEDIUM分辨率和每个对象的16个单元格.如果您使用几何数据类型,请确保设置包含整个数据集的BOUNDING_BOX(对于地理位置,空间索引始终覆盖整个地球仪,因此这不是必需的).然后,尝试一次调整一个设置,并测量性能增加/减少.

< plug>在即将发布的“使用SQL Server 2012的Pro Spatial”中插入空间索引并提高空间查询性能的章节< / plug> – http://www.amazon.com/Pro-Spatial-SQL-Server-2012/dp/1430234911/ref=sr_1_3?ie=UTF8&qid=1334310547&sr=8-3(完全免责声明 – 我是作者)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读