sqlserver优点,sql语句的优点
Oracle数据库和Sql server数据库各有什么优缺点
1. Oracle跨平台,SQL
为义乌等地区用户提供了全套网页设计制作服务,及义乌网站建设行业解决方案。主营业务为网站设计制作、成都网站制作、义乌网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
Server只能运行在Windows上,而Windows能够安装的硬件是有限的,如Sun的Sparc服务器不能安装Windows,一些大型机、小型机也只能装UNIX,在这些高端机器上就只能跑Oracle了,这注定了Oracle就是高端数据库,而SQL
Server呢,中低端。
2. Oracle真正实现了行级锁,SQL
Server也宣称实现了行级锁,但你实际去试,如果不加索引,其实是不行的。
3. Oracle因为有多版本数据的技术,读写操作不会相互等待,虽然SQL
Server
2005学习Oracle增加了snapshot机制,从而也引进了多版本数据(MySQL也有多版本数据机制,不能说一定是学习Oracle),但是实际效果感觉就是2个版本的数据,隔离级别为read
committed时候,读写不再相互等待,但是把隔离设置为Serializable还是会产生读写相互等待。
4. Oracle的事务日志归档相当方便,而SQL
Server要用事务日志备份来实现,而且还要配置自动作业,启动agent服务。
5. Oracle的数据字典丰富,使得DBA容易判断数据库的各种情况,虽然SQL
Server
2005学习了Oracle的数据字典的特点,但从数量及方便程度上还是相差太多。个人感觉这是Oracle最人性化的地方。
6. Oracle的PL/SQL比SQL
Server的T-SQL功能强大很多。
7. Oracle的触发器比SQL
Server的种类多几种。
8. oracle的备份恢复原理相当简单明了,备份就在操作系统上拷贝数据文件好了,恢复呢,再拷贝回来,数据是旧的,不怕,应用重做日志好了。SQL Server呢,虽然原理在本质上还是这些,但操作起来麻烦多了,麻烦到让你体会不到其本质。
9. Oracle数据库启动可以有多个阶段,使得DBA可以在不同的情况下,通过启动到特定的阶段解决一些特殊问题,而SQL Server只要服务一启动,所有数据库就都打开了。
10. SQL Server给人的感觉是简单易用,但是我要说,如果你继续向前走,就会发现SQL Server的体系结构相当复杂(注意我这里是说的复杂),大体还是沿袭的Sybase的体系结构,这种复杂结构,估计很难有根本性的改变,而Oracle呢,时间越长你越会觉得其体系结构严谨,虽然开始会感觉很难。我的一个比喻,SQL Server是傻瓜相机(就是那些一两千的小数码),Oracle是单反相机(40D,5D,D300),如果你是入门者,那用傻瓜相机好了,在各种环境下拍摄,基本都过得去,用单反,光圈、快门都要自己设定,反倒不如傻瓜相机的效果,如果你是高手了,那傻瓜相机就很难得心应手了。
11. Oracle的书籍一般都比较深,随便一说就是一大批,Epert Oracle、Practical Oracle 8i、Cost-based Oracle,SQL Server呢,恐怕只有那套Inside SQL Server了,虽然SQL Server的书籍数量比Oracle的多的多(特别是在国内),但多数都是step by step的入门书。
12. 对比SQL*Plus与sqlcmd(或2000的osql,6.5的isql),sqlcmd的功能是太简陋,差得太多了。
13. SQLServer的最大优点就是和Windows结合紧密,易用,但是要注意事情都是两面的,这些优点可能导致其致命的缺点,例如易用,使得搞SQL Server的人可以不求甚解,有时候不求甚解是没问题的,但是有时候不求甚解可能会造成灾难,特别是对搞数据库的人来说。不好意思,本来要说SQL Server的优点呢,最后也成了缺点了。
SQL Server 的优点有哪些。
Microsoft SQL Server 2000 能提供超大型系统所需的数据库服务。大型服务器可能有成千上万的用户同时连接到 SQL Server 2000 实例。SQL Server 2000 为这些环境提供了全面的保护,具有防止问题发生的安全措施,例如,可以防止多个用户试图同时更新相同的数据。SQL Server 2000 还在多个用户之间有效地分配可用资源,比如内存、网络带宽和磁盘 I/O。
超大型 Internet 站点可将其数据分开存放在多台服务器上,从而使处理负荷分散到多台计算机上,使站点能为成千上万的并发用户提供服务。
可以在一台计算机上运行多个 SQL Server 2000 实例。例如,一个为其它许多组织提供数据库服务的组织可为每个客户组织单独运行一个 SQL Server 2000 实例,而全部实例可集中在一台计算机上。这样,既隔开了每个客户组织的数据,同时又使服务组织只需管理一台服务器计算机从而减少了费用。
SQL Server 2000 应用程序可在装有 SQL Server 2000 的计算机上运行。该应用程序通过 Windows 进程间通讯 (IPC) 组件(例如共享内存)而非通过网络连接到 SQL Server 2000。这使 SQL Server 2000 得以应用于应用程序必须在本地存储数据的小型系统中。
大型 Web 站点和企业级数据处理系统通常会生成大量的数据库处理,超出了一台计算机的支持能力。在这些大型系统中,数据库服务由组成数据库服务层的一组数据库服务器提供。SQL Server 2000 不支持采用平衡负荷的聚集形式建立数据库服务层,但支持跨自主服务器组分存数据的机制。尽管每个服务器需分开管理,但组内的各个服务器可共同分担数据库处理负荷。共享同一工作负荷的一组自主服务器称为服务器联合体。
a.真正的客户/服务器体系结构;
在这种体系结构中,包括多台计算机,其中处理应用程序,请求服务的计算机称客户机,处理数据库的计算机称为服务器。
b.图形化用户界面,使系统管理和数据库管理更加直观、简单;
提供了表、视图和查询定义的图形界面,在Query Analyze的图形界面中使用SQL语言,服务器和数据库的用户配置的图形化界面。
c.丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地;
SQLServer提供了丰富的应用程序接口来访问服务器的数据,主要的访问方法有:ODBC API、OLE DB、Transact-SQL和DB-Library,客户机可以通过这些API作为动态连接库来使用,并通过客户端的网络库与SQLServer服务器通信。
d.SQL Server与Windows NT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等;
与NT的安全性系统集成,利用NT的安全机制为服务器服务,利用NT的性能监测器和使用MS Index Server;与MS BackOffice产品集成,如MS IIS、MS Exchange Server等结合。SQLServer可以设置为用Exchange接收和发送电子邮件,用户可以通过邮件信息向SQLServer发送查询请求,查询结果能够通过电子邮件返回给用户。
e.具有很好的伸缩性,可跨越从运行Windows95/98的膝上型电脑到运行Windows2000的大型多处理器等多种平台使用;
MS提供了一种单一的数据库引擎,可以用于Windows95到Windows2000大字节对称多处理器集群的各种场合。NT和SQL不仅支持IntelCPU,而且支持DEC Alpha CPU等处理器。
f.对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上;
在Web Assistant中可以将数据库表中的数据引出来,还可以将HTML中的数据引入到数据库中。SQLServer的数据可以自动发行到Web页上;用户可以通过一个普通的浏览器来查询存储在SQLServer中的信息,因此可以用存储在SQLServer中的信息创建动态Web页。
g.SQL Server提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。
SQL Server2000中包括吸取和分析汇总数据以进行联机分析处理(OLAP)的工具,还包括一些工具可用于直观地设计数据库并通过English Query来分析数据。当同一数据库在同一时间用于完成两个任务时(输入事务和运行查询),数据库功能将受到很大影响,在一个大范围的查询可能需要运行几个小时,会锁定许多记录,这时数据输入就无法操作,为防止这种冲突,数据通常被拷贝到单独的数据库中,称为数据中心或数据仓库;一个数据中心通常包括一个企业所有待分析数据的一个子集一个数据仓库实质上通常包含了一个机构希望查询的所有数据。
SQL Server2000的特性:
a.支持XML(Extensive Markup Language,扩展标记语言)
SQLServer2000数据库引擎提供完整的XML支持,通过URL(Uniform Resource Locator,统一资源定位器)访问SQLServer,支持XML-Data模式,使用HTTP、ADO或OLE DB处理SQL Server2000的XML功能,如定义Server2000数据库的XML视图;可以通过XML对数据库表中的数据进行操作,插入、更新或删除,包括在单个操作中修改多个表中的多行。
b.强大的基于Web的分析
SQLServer2000能够分析和链接现存的在线分析处理(OLAP)管道,甚至在Web上也可以做到。
c.支持OLE DB和多种查询
SQLServer2000包括了一个本地的OLE DB提供器。OLE DB与ADO对象模型一同使用,可以执行多种查询功能,能够自由访问关系数据库的数据和非关系类型数据源数据库,如从文本文件中读取数据,还可以从窗体或电子函件中读取数据。
d.支持分布式的分区查询
SQL Server2000可以完全满足决策支持系统(DSS)的需求,分布式数据库分区视图可以把工作负载划分到多个独立的SQL Server服务器上,从而为实施电子商务的客户提供了无限制的可扩展性。
MYSQL sqlserver oracle 之间的优缺点
MySQL的优点:
1. 它使用的核心线程是完全多线程,支持多处理器。
2. 有多种列类型:1、2、3、4、和8字节长度自有符号/无符号整数、FLOAT、DOUBLE、CHAR、VARCHAR、TEXT、BLOB、DATE、TIME、DATETIME、 TIMESTAMP、YEAR、和ENUM类型。
3. 它通过一个高度优化的类库实现SQL函数库并像他们能达到的一样快速,通常在查询初始化后不该有任何内存分配。没有内存漏洞。
4. 全面支持SQL的GROUP BY和ORDER BY子句,支持聚合函数(COUNT()、COUNT(DISTINCT)、AVG()、STD()、SUM()、MAX()和MIN())。你可以在同一查询中混来自不同数据库的表。
5. 支持ANSI SQL的LEFT 0UTER JOIN和ODBC。
6. 所有列都有缺省值。你可以用INSERT插入一个表列的子集,那些没用明确给定值的列设置为他们的决省值。
7. MySQL可以工作在不同的平台上。支持C、C++、Java、Perl、PHP、Python和TCL API。
(2) MySQL的缺点:
1、 MySQL最大的缺点是其安全系统,主要是复杂而非标准,另外只有到调用mysqladmin来重读用户权限时才发生改变。
2、 MySQL的另一个主要的缺陷之一是缺乏标准的RI(Referential Integrity-RI)机制;Rl限制的缺乏(在给定字段域上的一种固定的范围限制)可以通过大量的数据类型来补偿。
3、 MySQL没有一种存储过程(Stored Procedure)语言,这是对习惯于企业级数据库的程序员的最大限制。
4、 MySQL不支持热备份。
5、 MySQL的价格随平台和安装方式变化。Linux的MySQL如果由用户自己或系统管理员而不是第三方安装则是免费的,第三方案则必须付许可费。Unix或Linux 自行安装 免费 、Unix或Linux 第三方安装 200美元,
SQL Server的优点众多,但是Microsoft SQL Server和其他数据库产品相比也存在着以下劣势:
1开放性。只能运行在微软的windows平台,没有丝毫的开放性可言。
2可伸缩性,并行性。并行实施和共存模型并不成熟,很难处理日益增多的用户数和数据卷,伸缩性有限。
3性能稳定性。SQLServer当用户连接多时性能会变的很差,并且不够稳定。
4使用风险。SQLServer完全重写的代码,经历了长期的测试,不断延迟,许多功能需时间来证明。并不十分兼容早期产品。使用需要冒一定风险。
5客户端支持及应用模式。只支持C/S模式。
网页标题:sqlserver优点,sql语句的优点
文章URL:http://scyanting.com/article/phidoj.html