WEB开发网
开发学院数据库MSSQL Server 使用SQL2008中的空间数据类型 阅读

使用SQL2008中的空间数据类型

 2010-07-16 15:44:20 来源:WEB开发网   
核心提示:练习3:使用空间索引在本练习中,您将创建空间数据索引来提升空间查询的性能,使用SQL2008中的空间数据类型(7),空间索引基于一个4级网络的结构进行存储,每个级别都比上一个级别的粒度要更加细微,关闭SQL Server Management Studio,关闭Virtual PC,使用默认设置创建一个空间索引在SQL

练习3:使用空间索引

在本练习中,您将创建空间数据索引来提升空间查询的性能。空间索引基于一个4级网络的结构进行存储,每个级别都比上一个级别的粒度要更加细微。

使用默认设置创建一个空间索引

在SQL Server Management Studio中,点击New Query 来创建一个新的查询。如果出现提示对话框,则使用Windows Authentication 连接到(local) 数据库引擎实例。

在查询编辑器中,输入下面的Transact-SQL 代码:

USE AWSales
GO
--Create a spatial index with default settings
CREATE SPATIAL INDEX SIndx_Store_StoreLocation
ON Store(StoreLocation)
USING GEOGRAPHY_GRID
GO

点击Execute 运行脚本。

使用自定义设置创建空间索引

在查询编辑器中,在原有代码的下方输入下面的Transact-SQL 代码:

CREATE SPATIAL INDEX SIndx_Salesperson_SalesRegion
ON SalesPerson(SalesRegion)
USING GEOGRAPHY_GRID
WITH (GRIDS = (LOW, MEDIUM, HIGH, HIGH),
CELLS_PER_OBJECT = 256);
GO

注意: GRIDS 参数指定了空间索引当中每个级别的密度,同时,还决定了每个级别单元格的数量。CELLS_PER_OBJECT参数指定了单个空间对象可以占用的单元格的数量。

选择在上个步骤中创建的CREATE SPATIAL INDEX 语句,然后点击Execute 运行选中的代码。

View index usage

在查询编辑器中,在原有代码的下方输入下面的Transact-SQL 代码:

SET SHOWPLAN_TEXT ON
GO
SELECT s.StoreName
FROM Store s, SalesPerson sp
WITH (INDEX(SIndx_SalesPerson_SalesRegion))
WHERE sp.SalesRegion.STIntersects(s.StoreLocation) = 1
GO
SET SHOWPLAN_TEXT OFF
GO

注意: SHOWPLAN_TEXT选项可以通过查询优化器显示出选择的语句段的执行计划。在本演示中,数据表当中的数据量非常小,因此查询优化器将不会选择在上面的代码中使用不带查询提示的空间索引。如果空间数据的数据量非常大,那么查询优化器将可能会选择一个不带查询提示的空间索引,因为空间索引所带来的性能提升将会非常巨大。

选中上个步骤中输入的Transact-SQL 代码,然后点击Execute 运行选中的代码。

查看执行计划,然后注意空间索引的使用。

将查询脚本文件保存为C:SQLHOLsSpatial DataStarterSpatialIndexes.sql。

关闭SQL Server Management Studio。

关闭Virtual PC,不保存任何更改。

上一页  2 3 4 5 6 7 

Tags:使用 SQL 空间

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接