FORCESEEK 是一个新的表提示(Table Hints),它用来指定 SQL Server 查询优化程序如何更高效的执行查询。该提示指示优化程序对查询引用的表和视图通过索引检索来作为唯一的查询执行访问路径。也就是强制通过索引检索数据。例如:
以下为引用的内容:
USEtempdb;
GO
DROPTABLEt;
GO
CREATETABLEt(iintUNIQUE,jint,vcvarchar(100));
CREATEINDEXt_vcONt(vc);
GO
DECLARE@p1int,@p2int,@p3int,@p4int,@p5int;
SELECT*FROMtWHEREiIN(@p1,@p2,@p3,@p4,@p5);
GO
DECLARE@p1int,@p2int,@p3int,@p4int,@p5int;
SELECT*FROMtWITH(FORCESEEK)WHEREiIN(@p1,@p2,@p3,@p4,@p5);
GO
SELECT*FROMtWHEREvcLIKE'Test%';
GO
SELECT*FROMtWITH(FORCESEEK)WHEREvcLIKE'Test%';
GO
DECLARE@vcvarchar(100);
SELECT*FROMtWHEREvcLIKE@vc;
GO
DECLARE@vcvarchar(100);
SELECT*FROMtWITH(FORCESEEK)wherevclike@vc;
GO
3. GROUPING SETS
新的 T-SQL 对 GROUP BY 子句增加了 GROUPING SETS, ROLLUP 和 CUBE 操作符。还有一个新的函数 GROUPING_ID(),它相比 GROUPING() 函数返回更多分组级别的信息。WITH ROLLUP, WITH CUBE 和 ALL 等非 ISO 标准语法已经不再有效。
4. 兼容性级别
新的 ALTER DATABASE SET COMPATIBILITY_LEVEL 语法替换了 sp_dbcomplevel 存储过程。它用来设置特定数据库的兼容性级别。其语法形式为:
Microsoft SQL Server 2008 对事务性 SQL 语言做了一些增强,提高了查询效率。使得 SQl Server 成为大中型企业数据库的首先产品。SQL Server 2008 将伴随 Visual Studio 2008 一起发布,开发人员提前了解这些信息有助于在 SQL Server 的新版本发布后快速建立基于该版本的企业级应用程序。