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

使用SQL2008 中的空间数据类型

 2008-09-28 10:04:56 来源:WEB开发网   
核心提示: 保持SQL Server Management Studio 打开以备后面的练习使用,练习3:使用空间索引在本练习中,使用SQL2008 中的空间数据类型(10),您将创建空间数据索引来提升空间查询的性能,空间索引基于一个4级网络的结构进行存储,关闭SQL Server Managemen

保持SQL Server Management Studio 打开以备后面的练习使用。

练习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,不保存任何更改。

上一页  5 6 7 8 9 10 

Tags:使用 SQL 空间

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