Welcome

首页 / 数据库 / SQLServer / VS 2005与SQL Server优势

VS 2005与SQL Server优势2008-03-15李延华微软整合SQL Server 2005与Visual Studio 2005倒不是顶新鲜的创举,Oracle早在2004年年底即率先针对Visual Studio 2003,推出Oracle Developer Tools for Visual Studio .NET,用意在提供.NET平台的Oracle用户,整合于Visual Studio的数据库设计与管理工具,甚至可利用.NET开发Stored Procedure(预存程序)。相信Oracle在不久的将来,也会针对.NET Framework 2.0推出更新的开发版本。

Stored Procedure效率佳,但与厂商紧密捆绑

站在程序开发者的立场,数据库与商业逻辑分开,数据库纯粹储存数据,程序开发交由应用程序处理比较单纯;但从DBA的角度出发,系统归系统,数据的处理由数据库负责比较好。虽然两者看法分岐,不过,Stored Procedure贴近数据库引擎,执行效能较佳,况且数据确实有预先处理的需求,透过程序远程处理不仅耗时,而且有网络断线造成执行失败的风险,因此,实务上Stored Procedure有存在的必要性。

Stored Procedure有以下的好处:

1.模块化的程序撰写:只需建立一次Stored Procedure,储存在数据库中,就可以让不同的程序呼叫。

2.执行效率佳:如果需要大量或反复执行的数据处理,Stored Procedure的执行速度会比T-SQL程序代码的批处理快。因为 Stored Procedure 是在建立的时候进行剖析和最佳化,所以执行一次以后存在内存中。而程序代码则是每次执行时都要反复地从客户端传到服务器。

3.减少网络流量:即使是好几百行T-SQL程序代码的作业,也只要透过一个指令就可以执行Stored Procedure中的程序代码,而不必在网络上传送几百行程序代码。

虽然微软的T-SQL或Oracle的PL/SQL,都兼容于ANSI-SQL,但毕竟不是标准,两者都是厂商专属的数据库程序语言,所以,只要选择撰写Stored Procedure,就是紧密捆绑的开始。不过,除非有不堪使用的重大理由,否则企业选定应用程序搭配的数据库,少有更换的情况,所以效能与捆绑的衡量,是视应用而定。

以T-SQL或.NET开发Stored Procedure各有利弊

单就SQL Server而言,Visual Studio 2005与SQL Server 2005整合,明显的好处在于开发数据库程序,例如Stored Procedure或Trigger可以纳管。过去,Stored Procedure必须部署到数据库「执行看看」,才知道有没有问题,而且Stored Procedure就像一般程序,档案可能被别人修改或不小心被覆盖,因此有管理的需要。透过Visual Studio的控管,对于SQL Server的管理确有正面的效果。

如果企业采用T-SQL撰写Stored Procedure,SQL Server 2005已附赠一套精简版的Visual Studio,DBA不再需要使用阳春的文字编辑器撰写Stored Procedure,可享有开发、测试及版本管理的好处。

若搭配Visual Studio 2005,可使用C#和Visual Basic撰写Stored Procedure。事实上,利用通用性程序语言撰写Stored Procedure,微软不是原创,Java的SQLJ也是对等的设计。