3.测试数据和查询语句的产生步骤
主要步骤参照本系列第一篇文章《Oracle 11g R2企业版评测》。然后需要针对SQL Server的特性作修改。
SQL Server对SQL语句的特殊要求主要有4点:
(1)取前若干行的语法。使用Top n写法。比如select top 1 * from t。
(2)日期间隔的表达式。不支持date,interval 'n' year/month等SQL 92写法,要改为 DateAdd函数。比如:date '1998-12-01' - interval '73' day 要改为dateadd(day,-73, '1998-12-01')。其中,用字符串'1998-12-01'直接代表日期。
(3)从日期提取年月日的表达式。不支持extract year from 等写法,要改为 DatePart函数或更简洁的Year函数。如:extract (year from o_orderdate )改为year(o_orderdate)
(4)用go命令执行SQL语句,可以在最后用1个GO命令批量执行一组分号结尾的SQL语句。这些SQL语句既可以是查询语句,也可以是DDL语句和DML语句。
将修改完成后的22个查询语句保存为mssql_tpch.sql文件。同时在文件开始处加入:
use tpch
go
set staticstics time on
go
go
set staticstics time on
go
以限制查询的数据库,并显示SQL解析和运行时间。在文件末加上go命令。