四、小结
经过这次测试,我们对SQL Server数据库已经有了初步的印象,虽然安装比较复杂,安装包也体积庞大,但功能还是很强大,总体性能也比较好,比如数据文件导入和查询,在基本上相同的硬件配置下,性能在行存储数据库测试中目前仅次于Oracle,排名第2。其次,对于TPC-H这种分析型查询,不需要利用主外键约束也能产生较好的执行计划,能充分利用硬件资源,默认并行查询对查询性能提高较明显,对某些查询有数倍的提高。另外,测试过程中没有出现数据库意外崩溃的现象。
存在的问题,首先,操作系统平台单一,也许是微软自家的产品,和操作系统结合得太过紧密,这可能对提高性能和利用操作系统扩展功能有帮助,但也限制了跨平台的发展,自动放弃了Linux和Unix平台的大量用户。其次,安装包的制作有问题,先决条件检查全满足,在一个新安装的Windows 2008 R2系统上安装也不容易一次成功,给出的错误信息不明确,log日志文件中也缺少明确信息,无法根据它们修正错误,至少应该在安装指南中指出杀毒软件的影响。
还有一些功能上的问题。
当你添加了主键,也就默认添加了一个聚集索引,而且自动进行了统计分析。即使在SQL语句中用提示全表扫描,也不能成功。只能让优化器自己决定,哪怕新的执行计划不如原来的。
set statistics time计时工具,如果执行存储过程,会把过程中间每一个查询的时间都列出来,如果要单独显示一行,只能用编写存储过程的办法解决。
执行计划的文本显示在查询比较复杂时不易辨认,如一行内容被拆分为多行。似乎也不能同时显示执行结果和执行计划。不过在Management Studio中就可以同时显示。
最后提一下文档和支持,微软很重视文档的本地化工作,这点很有利于技术人员熟悉他们的产品,在官方技术网站http://msdn.microsoft.com/也有大量SQL Server中文技术文章和入门教材,这些都是很好的学习资源。
总的来说,MS SQL Server是一个功能全面,性能优良,运行稳定的主流商用数据库。而对最终用户来说,本文没有提及的图形化的管理工具也是一个很好的工具,不必手工输入和记忆大量的管理SQL语句,就能监控数据库运行和进行日常维护工作。要真正用好SQL Server,就必须熟悉图形化工具的使用,会大幅度提高数据库开发和管理的效率。