技术开发 频道

SQL Server 2008中数据引擎的新功能

  【IT168 专稿】

  概述

  SQL Server 2008针对应用程序开发大幅扩充了许多功能,除了完整支持Visual Studio 2008/.NET Framework 3.5 SP1后所提供的LINQ、ADO.NET Entity Data Model/Framework、ADO.NET Data Service、Sync Framework/Service…等功能外,针对数据引擎本身,也新增的繁多的功能,如下:

  新数据形态
 
  日期/时间数据类型:新增date、time、datetime2、datetimeoffset 等日期格式。另外,time、datetime2、datetimeoffset等类型的数据长度可变动,让你可在精确度与节省空间两者间选择。

  空间(Spatial)数据类型:可在数据库内结合地理资讯,并搭配空间索引(Spatial Index)的特殊阶层式索引结构,以有效存储数据。实体的数据类型分为一下两种:

  geometry (平面):符合开放式地理空间协会(Open Geospatial Consortium,OGC)的SQL简单特征规格1.1.0版,存放几何空间的X、Y等坐标数据。
 
  geography (测地):存储椭圆体(圆形地球)数据,例如:GPS的经纬度坐标。

  上述两种数据类型实际是通过SQL CLR编写,同时提供了丰富的函数,诸如:STLength、STArea、STStartPoint、STEndpoint、STCrosses、STWithin、STOverlaps…等,让你不论是以T-SQL或是.NET程序语言开发,都可以一致的操作方式存取该资料记录或物件执行个体。

  FileStream:将大量数据通过SQL Server 存回 NTFS档案目录,而非数据库档案内。让大型数据不受限于2G位元组大小的限制,还可同时维持交易一致性、整合的管理架构,如:备份/还原、SQL Server 安全性等。

  Hierarchyid阶层结构数据类型:以SQLCLR UDT实做的特殊数据形态,预设提供许多维护阶层结构的方法。以便利操作如档案、组织阶层等结构。

  数据表类型的参数(Table-value Parameter):可以先定义数据表类型,再在预存程序声明该类型参数。在这个版本,传递数据表形态的参数是只读的。

  Sparse Column:适用于数据表的字段数量非常多,但大部分记录该字段的内容都是空的。若声明成Sparse字段,当内容是null时,完全不占空间。例如Windows Sharepoint Services在存储文管的数据时,有一大堆档案格式,每种档案格式的属性皆不同,因此有一大堆字段,对应各种不同的文件属性,当新增任一份档案时,大部分的属性字段都可以null,仅少数几栏适用于该类型档案描述的属性有设值。

  Sparse Column同时可以搭配过滤条件的索引(Filtered Index),以更省空间、更有效率的放出处理Sparse字段。

  新索引结构

  空间索引(Spatial Index):对于空间地理资讯建制特殊的索引结构。

  设定过滤条件的索引:对符合Where条件的值建立索引,例如:建立索引时限制字段值不可null,则针对Sparse Column建出来的索引资料量就小很多。

0
相关文章