赛迪网 > IT技术 数据库 > SQL Server
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

[SQL Server]VS 2005与SQL Server优势

发布时间:2006.04.06 07:11     来源:CSDN    作者:李延华

微软整合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也是对等的设计。

SQL Server 2005的核心已由.NET Framework 2.0改写,因此,以Visual Basic或C#开发的Stored Procedure好处包括:

1.编译成为DLL(.NET Managed code Assembly)的Stored Procedure档案,执行在原生的.NET Framework 2.0平台,预估效能会比T-SQL好,尤其是大量循环和字符串处理的应用。

2.由于T-SQL是特定用途的程序语言,无法表达复杂的逻辑,所以即使是简单的字符串处理或数字计算,可能就要写数十行的程序表达;改由通用性用途的C#或Visual Basic可以大幅缩短程序的长度,也就增加程序的可维护性。

3.相较于T-SQL是SQL Server专属语言,.NET是ISO标准。

缺点一言以蔽之,却很关键:企业可能必须有长期保存Visual Studio各种版本的心理准备。

长远看来,数据库与开发工具的生命周期大不相同,数据库首重稳定与安全,升级的频率不像开发工具那么赶流行,未来可能.NET Framework和Visual Studio都更新了好几个版本,企业的SQL Server还在2005版,而Visual Studio不像JBuilder一样有切换JDK版本的功能。因此,DBA的计算机不管改朝换代了几次,都必须装有Visual Studio 2005,甚至随数据库版本的多元化,必须装有Visual Studio不同版本,而且光盘也不能丢掉。那么情况可能就像现在计算机必须安装着VB 6甚至VB 3一样诡异。至于选T-SQL或.NET的权衡,可能又需视Stored Procedure的应用层面来决定。

升级SQL Server 2005才能享有整合的好处

数据库的工具整合于开发环境,除了便利性,更重要的是数据库的程序开发,终于有了管理工具。过去Stored Procedure「丢上去Try看看」的作法,现在有了测试和版本控管的机制,由此看来,两者确实有相互「抬轿」、彼此「绑桩」的效果。

不过,Stored Procedure到底是延用T-SQL,还是改采功能强大、可以处理复杂逻辑的Visual Basic和C#撰写,就有很多层面的考虑。况且,企业既有的SQL Server是否升级到2005版又有很多影响因素,又将陷入一段长考。
(e129)


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· 安防有道:实施自动的SQL注入攻击测试 (04-05) · SQL SERVER内存会不断增加的问题分析 (04-04)
· [SQL Server]移至64位SQL Server数据库 (04-04) · Tomcat+SQL Server2000连接池配置 (04-03)
· [SQL Server]黑客攻SQL服务器十种方法 (04-03) · Maian Weblog多个SQL注入漏洞 (03-29)
· 升级到SQLServer2005的10大理由 (03-28) · 如何用hash关键字提高数据库性能 (03-28)
· SQL Server 2005数据库开发概述 (03-24) · 安装SQL Server 2005的AdventureWorks (03-23)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
[政务][电信][金融][农业][制造业][中小企业]
[CIO][ERP][协同][IT管理][中间件][电子商务]
[政策][地方][专家][评估][辞典][博客][社区]
· 专题:一路畅通构想曲——让出行不再遭遇堵车
· CIO工作亲历:企业ERP选型不能忽视"选人关"
· 综述:信息化建设给中国监狱带来的各种变化
· 金融业风险管理和法规遵从有五点需考虑的因素
· 保险业CIO关注:该如何建立统一高效的CRM体系
· 调查显示:多数CIO对IT规划仍存在困惑和误解
  博客·论坛 ·曾剑秋·项立刚·Java学习·网管