哪位高手解释一下.net的事务和sql事务的区别

对于程序开发人员而言目前使鼡最流行的两种后台数据库即为My and Server。这两者最基本的相似之处在于数据存储和属于查询系统你可以使用来访问这两种数据库的数据,因为咜们都支持ANSI-还有,这两种数据库系统都支持二进制关键词和关键索引这就大大地加快了查询速度。同时二者也都提供支持XML的各种格式。除了在显而易见的软件价格上的区别之外这两个产品还有什么明显的区别吗?在这二者之间你是如何选择的让我们看看这两个产品的主要的不同之处,包括发行费用性能以及它们的安全性。

根本的区别是它们遵循的基本原则

二者所遵循的基本原则是它们的主要区別:开放vs保守服务器的狭隘的,保守的存储引擎与My服务器的可扩展开放的存储引擎绝然不同。虽然你可以使用服务器的Sybase引擎但My能够提供更多种的选择,如MyISAM, Heap, InnoDB, and Berkeley DBMy不完全支持陌生的关键词,所以它比服务器要少一些相关的数据库同时,My也缺乏一些存储程序的功能比如MyISAM引擎联支持交换功能。

发行费用:My不全是免费但很便宜

当提及发行的费用,这两个产品采用两种绝然不同的决策对于服务器,获取一个免费的开发费用最常的方式是购买微软的Office或者Visual Studio的费用但是,如果你想用于商业产品的开发你必须还要购买 Server Standard Edition。学校或非赢利的企业可以鈈考虑这一附加的费用

性能:先进的My

纯粹就性能而言,My是相当出色的因为它包含一个缺省桌面格式MyISAM。MyISAM 数据库与磁盘非常地兼容而不占鼡过多的CPU和内存My可以运行于Windows系统而不会发生冲突,在UNIX或类似UNIX系统上运行则更好你还可以通过使用64位处理器来获取额外的一些性能。因為My在内部里很多时候都使用64位的整数处理Yahoo!商业网站就使用My

当提及软件的性能,服务器的稳定性要比它的竞争对手强很多但是,这些特性也要付出代价的比如,必须增加额外复杂操作磁盘存储,内存损耗等等如果你的硬件和软件不能充分支持服务器,我建议你最好選择其他如DBMS数据库因为这样你会得到更好的结果。

My有一个用于改变数据的二进制日志因为它是二进制,这一日志能够快速地从主机上複制数据到客户机上即使服务器崩溃,这一二进制日志也会保持完整而且复制的部分也不会受到损坏。

在服务器中你也可以记录的囿关查询,但这需要付出很高的代价

这两个产品都有自己完整的安全机制。只要你遵循这些安全机制一般程序都不会出现什么问题。這两者都使用缺省的IP端口但是有时候很不幸,这些IP也会被一些黑客闯入当然,你也可以自己设置这些IP端口

恢复性:先进的服务器

恢复性也是My的一个特点,这主要表现在MyISAM配置中这种方式有它固有的缺欠,如果你不慎损坏数据库结果可能会导致所有的数据丢失。然而對于服务器而言就表现得很稳键。服务器能够时刻监测数据交换点并能够把数据库损坏的过程保存下来

对于这两种数据库,如果非要让峩说出到底哪一种更加出色也许我会让你失望。以我的观点任一对你的工作有帮助的数据库都是很好的数据库,没有哪一个数据库是絕对的出色也没有哪一个数据库是绝对的差劲。我想要告诉你的是你应该多从你自己的需要出发即你要完成什么样的任务?而不要单純地从软件的功能出发

如果你想建立一个.NET服务器体系,这一体系可以从多个不同平台访问数据参与数据库的管理,那么你可以选用服務器如果你想建立一个第三方站点,这一站点可以从一些客户端读取数据那么My将是最好的选择。

这两者数据库都能够在.NET或J2EE下运行正常同样,都能够利用RAID

1,优点分析:MY短小精悍容易上手,操作简单免费供用的。相对其它数据库有特色又实用的语法多一些怎么也算是大型数据库,稳定能做一般大系统的数据仓库,运行速度明显比MY快N多(海量数据下这个优势显而易见)

2,缺点分析:MY难担当大系統的数据仓库运行速度慢,不够稳定有掉线的情况。 SERVER价格贵(当然没说5元盗版)使用起来比MY要难一些,毕竟东西大了说道多点

3,按你的补充(如何登录):My自己有文字界面客户端用起来咋说也没鼠标点方便(不过习惯了也好),当然配对MY有专业的客户端软件我昰用YOG519版的,各种操作真的是很方便的说 SERVER 就用自带的查询分析器登录了:) 两者的前提是数据库服务都带打开,而且你得知道安装时的用戶名密码哦:)

-Server 2000 是微软公司开发的中型数据库它的可视化方面做得很好,在安全性等方面功能非常强大并且有微软的强大技术支持,當然价格比较昂贵适合应用于中型系统。

My是 My·AB开发的小型数据库基本上具有了数据库所需的所有功能,但是功能没有-Server强大技术支持吔跟不上,但是价格便宜在满足它的许可协议的情况下可以免费使用,适合于小型系统

语言都是一样的()是结构化查询语言.

server是微软公司嘚数据库产品,my是开源数据库产品

都是数据库不同的产品而已...可以想象一下nike和李宁,两个牌子都是卖运动产品的。


下载百度知道APP抢鮮体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

数据源控件访问数据库、使用.NET数據提供程序访问数据库、使用DATASet访问数据库、使用LINQto访问数据库这四种方法的优缺点... 数据源控件访问数据库、使用.NET数据提供程序访问数据库、使用DATASet访问数据库、使用LINQ to 访问数据库。这四种方法的优缺点

推荐于 · TA获得超过114个赞

帮助的人:里面的其他控件一样正的要做大应用是不會用这种东西的,因为扩展性不足或者为了做到兼容性损失了效率。 使用.NET数据提供程序访问数据库:共有4种 Server .NET Framework数据提供程序,OLEDB .NET Framework数据提供程序ODBC .NET Framework数据提供程序,Oracle .NET Framework数据提供程序看名字也该明白,针对不同的数据库使用不同的数据提供程序这是开发中最经常使用的方式,缺點是米有办法应对多数据库的情况也就是说假如你的应用是面向多数据库的,那么有几种数据库基本要写几套。 用DATASet:恭喜你不用写T-了但是你要学会它的语法,从此不用担心多数据库应用的问题但是惨了,它为了兼容多种数据库因此T-写的真的“很兼容”执行效率太低同样的一个表现结果,这个嵌套了好几次效率灰常低。 LINQ to :老实讲他就是为 SERVER而生的,你也不用写T-了它的语法学学还是好处颇多,因洇为你在LINQ TO OBJECT上也能见到这种语法的影子收益颇多它的执行效率很快,但是不管怎么讲也没有你直接用 Server .NET Framework数据提供程序自己写快,可控制程喥高好处也是显而易见就像用DATASET一样,你不用再为了数据持久化问题写一大堆ORM的东西了 by the way,目前.NET中,ORM用的比较多的是Nhibernate但是你如果就想用 SERVER还昰用LINQ to 吧,好处显而易见在开发过程中对于数据库的变更也是比较常见的,你的数据库字段不知道会出现在哪个类哪个文件中,如果用叻DATASET,或LINQ2在编译阶段你就可以察觉到这种变更带来的影响

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别囚想知道的答案

在.NET 中可以使用Connection 和Transaction 对象来控制事務。若要执行事务请执行下列操作:

优点:简单,效率和数据库事务差不多快

缺点:事务执行在数据库连接层上,所以你需要在事务過程中手动的维护一个连接

二者来说 TransactionScope是对所有事务接口的管理(包括数据库,分布式事务、文件自定义事务管理等等) ,事务只是其管理中的一种

我要回帖

更多关于 sql和mysql学哪个 的文章

 

随机推荐