‘壹’ sql连表查询跟一个个表查询那个快各有什么优点和缺点
SQL链接表查询称为联合查询,表查询是单个查询。其区别和优点如下:
1.从发展效率的角度看:
联合查询是需要多个单查询逻辑组合才能完成的查询工作,联合查询只需要一个SQL就可以完成查询工作,即将业务逻辑转化为SQL,由数据库来处理,相对来说,开发效率会更高。
2.从查询效率来看:
单个查询具有更好的可重用性,因此比联合查询更有效。
当读取或写入数据库时,数据库使用锁机制来限制其他连接对其进行操作。由于联邦查询比单个查询慢得多,它们会增加锁争用,因此单个查询更好。
3.从逻辑结构层面来看,分层原则
关联表示业务规则/逻辑。如果经常使用关联查询,就会将大量的业务规则和逻辑放入数据库中执行,这将大大增加CPU、内存、IO等资源的消耗。
4.从资源利用的角度来看
在大多数情况下,并不是所有相关查询的结果都得到了有效的使用。例如,后台管理的列表界面会显示分页、关联查询的结果集,只使用当前页面的数据,而数据库需要消耗额外的资源才能得到整个结果集。
5.从架构的可伸缩性的角度来看
大量的相关查询将导致集中式数据库体系结构难以转化为分布式体系结构,可扩展性优化也难以实现。关联查询方便快捷,开发效率更高。
不使用关系查询在体系结构级别上有很多优势,但是它需要大量的系统分析、设计和开发功能。一般在互联网行业,如用户数量最好重视这方面。
由于数据量小,两个查询的效率基本没有差别,但在实际应用中,需要根据数据量、业务复杂度等进行综合评价。
‘贰’ 各类数据库的优点缺点
优点:数据库系统是用来管理数据的,建立的数理逻辑和集合操作基础上的。
具有高效、可靠、完整、自同步等特性,是业务系统进行数据控制的最佳选择。
数据库系统一般提供高效的数据控制和数据检索功能,采用SQL语言来进行数据操作。
目前市面上流行的数据库系统很多:较小型的数据库系统有:mysql,MSSQL_SERVER等等,适用于企业级的大型数据库有:ORACEL,DB2(IBM),INFORMIX(IBM)等等
缺点:安全性不够,加了用户级密码容易破解
C/S
结构下对服务器要求很高,否则容易造成
MDB
损坏并发数255。
但是对高强度操作适应性差,如果服务器不够好,网络不够好,编程的方法不够好,6-7个人同时访问就能导致
MDB
损坏或者并死不能将
VBA
代码开发的软件系统直接编译成
EXE
可执行文件。
不能脱离
ACCESS
或者
ACCESS
RUNTIME
环境,该环境相对其他软件体积较大(50M左右)
‘叁’ 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的备份恢复原理相当简单明了,备份就在操作系统上拷贝数据文件好了,恢复呢,再拷贝回来,数据是旧的,不怕,应用重做日志好了。SQLServer呢,虽然原理在本质上还是这些,但操作起来麻烦多了,麻烦到让你体会不到其本质。
9.Oracle数据库启动可以有多个阶段,使得DBA可以在不同的情况下,通过启动到特定的阶段解决一些特殊问题,而SQLServer只要服务一启动,所有数据库就都打开了。
10.SQLServer给人的感觉是简单易用,但是我要说,如果你继续向前走,就会发现SQLServer的体系结构相当复杂(注意我这里是说的复杂),大体还是沿袭的Sybase的体系结构,这种复杂结构,估计很难有根本性的改变,而Oracle呢,时间越长你越会觉得其体系结构严谨,虽然开始会感觉很难。我的一个比喻,SQLServer是傻瓜相机(就是那些一两千的小数码),Oracle是单反相机(40D,5D,D300),如果你是入门者,那用傻瓜相机好了,在各种环境下拍摄,基本都过得去,用单反,光圈、快门都要自己设定,反倒不如傻瓜相机的效果,如果你是高手了,那傻瓜相机就很难得心应手了。
11.Oracle的书籍一般都比较深,随便一说就是一大批,EpertOracle、PracticalOracle8i、Cost-basedOracle,SQLServer呢,恐怕只有那套InsideSQLServer了,虽然SQLServer的书籍数量比Oracle的多的多(特别是在国内),但多数都是stepbystep的入门书。
12.对比SQL*Plus与sqlcmd(或2000的osql,6.5的isql),sqlcmd的功能是太简陋,差得太多了。
13.SQLServer的最大优点就是和Windows结合紧密,易用,但是要注意事情都是两面的,这些优点可能导致其致命的缺点,例如易用,使得搞SQLServer的人可以不求甚解,有时候不求甚解是没问题的,但是有时候不求甚解可能会造成灾难,特别是对搞数据库的人来说。不好意思,本来要说SQLServer的优点呢,最后也成了缺点了。
‘肆’ access与SQL数据库的各的优缺点!
Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。
SQL Server是基于服务器端的中型的数据库,可以适合大容量数据的应用,在功能上管理上也要比Access要强得多。在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大。因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。SQL Server还有更多的扩展,可以用存储过程,数据库大小无极限限制。
‘伍’ SQL连表查询跟一个个表查询那个快各有什么优点和缺点
一般情况下是一条语句来的快。如果表2的数据比表1多出几个数量级的话,并且表2中该id字段有索引,则有可能使用多次查询会快点。
一次查询的优点是只需要一次连接,数据库查询的时候,连接是个耗时的操作。缺点是如果两个表数据多,则中间结果集太大,需要较多的内存资源。
多次查询的优缺点和一次查询正好反过来。另外多次查询也可以在程序中对每一次查询的中间结果做处理,这是一个灵活性。
‘陆’ SQL数据库和甲骨文数据库的好处和坏处求解答!
MsSqlserver优点:
1.真正的客户机/服务器体系结构
2.图形化的用户界面,使系统管理和数据库管理更加直观、简单
3.丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地
4.与WinNT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等,SQL Server也可以很好地与Microsoft BackOffice产品集成。
5.有很好的伸缩性,可以跨平台使用。
6.提供数据仓库功能,这个功能只在Oracle和其他昂贵的DBMS中才有。
Oracle优点:
1.Oracle的稳定性要比Sql server好。
2.Oracle在导数据工具sqlload.exe功能比Sqlserver的Bcp功能强大,Oracle可以按照条件把文本文件数据导入.
3.Oracle的安全机制比Sql server好。
4.Sql server的易用性和友好性方面要比Oracle好。
5.在处理大数据方面Oracle会更稳定一些。
6.Sql Server在数据导出方面功能更强一些。
7.处理速度方面比Oracle快一些,和两者的协议有关.
Oracle缺点: 价格昂贵.
以下是搜集与网络中常用数据库的总结,希望大家补充~!
SqlServer:只支持微软平台,数据量不及上两者,可用性最好,但是性能不及上两者,适用于中型、小型企业及商业应用。
1. SQL SERVER 用于中小型数据库,ORACLE 用于大型数据库.
2. SQL SERVER 只能在Windows下跑,Oracle是跨平台的.
3. SQL SERVER 很平民,轻巧,Oracle很贵族,安全稳定.
1、主要在处理数据量的大小方面:sql小数据量速度快、方便。oracle慢;但海量数据处理,就非oracle莫数了。
2、操作方便性:sql操作方便简单,易上手。oracle操作麻烦、不易上手。
3、安全性:sql安全性很差(最大缺点)。oracle安全性很好。
4、移植性:sql只能在windows系统和NT系统下运行。oracle理论上可以运行在任何的系统中。
Oracle是(甲骨文)公司的数据产品。Oracle的产品可运行于很宽范围的硬件与操作系统平台上。可以安装在70种以上不同的大、中、小型机上;可在VMS、DOS、UNIX、WINDOWS等多种操作系统下工作。ORACLE产品主要包括数据库服务器、开发工具和连接产品三类。操作要比MSSQL Server复杂,同时提供GUI和命令行,在windowsNT和unix下操作相同。获得最高认证级别的ISO标准认证。
SQL Server 是 Microsoft(微软) 的数据产品,它的易用性强。有友好的用户界面。适用于C/S结构,只支持windows客户,可以用ADO,DAO,OLEDB,ODBC连接.但只能在windows 上运行,没有丝毫的开放性,而且windows平台的可靠性,安全性和伸缩性是非常有限的。多用户时性能不佳。适用于中端市场,价格也比较适中.但在安全性方面没受到任何安全认证.
‘柒’ SQL server 2005数据库有什么优点和缺点
SQL Server 2005的十大最新特性
在商界,每样东西都在竞争中争取“更好、更快、更便宜”——SQL Server 2005也提供了很多个新特性来节省精力、时间和金钱。从编程到管理能力,这个版本的SQL Server都优于其他版本的产品,并且它还对SQL Server 2000中已经存在的特性进行了加强。这里我按照它的重要程度列出前十个最重要的新特性。
1、加强的T-SQL (事务处理SQL )
T-SQL 天生就是基于集合的关系型数据库管理系统编程语言,可以提供高性能的数据访问。现在,它与许多新的特性相结合,包括通过同时使用TRY和CTACH来进行错误处理,可以在语句中返回一个结果集的通用表表达式(CTEs),以及通过PIVOT 和UNPIVOT命令将列转化为行和将列转化为行的能力。
2、CLR(Common Language Runtime,通用语言运行时)
SQL Server 2005中的第二个主要的增强特性就是整合了符合.NET规范的语言 ,例如C#, ASP.NET 或者是可以构建对象(存储过程,触发器,函数等)的 VB.NET。这一点让你可以在数据库管理系统中执行.NET代码以充分利用.NET功能。它有望在SQL Server 2000环境中取代扩展的存储过程,同时还扩展了传统关系型引擎功能。
3、服务代理(Service Broker)
服务代理处理的是以松散方式进行联系的发送者和接收者之间的消息。一个消息被发送、处理和回答,完成整个事务。这大大扩展了数据驱动应用程序的性能,以符合工作流或者客户业务需求。
4、数据加密
SQL Server 2000没有用来在表自身加密数据的有文档记载的或者公共支持的函数。企业需要依赖第三方产品来满足这个需求。SQL Server 2005自身带有支持对用户自定义数据库中存储的数据进行加密的功能。
5、SMTP邮件
在SQL Server 2000中直接发送邮件是可能的,但是很复杂。在SQL Server 2005中,微软通过合并SMTP邮件提高了自身的邮件性能。SQL Server从此跟Outlook说“bye-bye”!
6、HTTP终端
你可以很轻松地通过一个简单的T-SQL 语句使一个对象可以在因特网上被访问,从而创建一个HTTP终端。这允许从因特网上呼叫一个简单的对象来获取需要的数据。
7、多活动结果集(Multiple Active Result Sets ,简称MARS)
多活动结果集允许从单个的客户端到数据库保持一条持久的连接,以便在每个连接上拥有超过一个的活动请求。这是一个主要的性能改善,它允许开发人员让用户在使用SQL Server工作的时候拥有新的能力。例如,它允许多个查询,或者一个查询的同时输入数据。底线就是一个客户端连接可以同时拥有多个活动的进程。
8、专用管理员连接
如果所有的内容都出错了,那么只能关闭SQL Server服务或者按下电源键。专用管理员连接结束了这种状况。这个功能允许数据库管理员对SQL Server发起单个诊断连接,即使是服务器正在出现问题。
9、SQL Server综合服务(SSIS)
SSIS已经作为主要的ETL(抽取、传输和载入)工作替代了DTS(数据传输服务),并且随着SQL Server免费发布。这个工具,从SQL Server 2000开始被完全重新编写,现在已经拥有了很大程度的灵活性,来满足复杂的数据移动需求。
10、数据库镜像
我并没有指望这个功能会在11月份的RTM 中随着SQL Server 2005一起发布,但是我认为这个特性具有很大的潜力。数据库镜像是本地高可用性能力的扩展。所有,仍然在对更多的细节进行调整……那么现在,祝福吧。
还有两项技术不能在SQL Server 2005的前十列表中遗漏的是它的分析服务和报告服务。虽然SQL Server 2005没有介绍其中的任何一项,但是将它们整合进了SQL Server综合服务之中,以求微软的核心商务智能套件的完美。这些技术对于商务智能的成功至关重要。学习新的特性,以及企业如何在实际项目中实现它。
‘捌’ 比较Access、Oracle、SQL server 三种数据库的优缺点。
ACCESS是由微软发布的关联式数据库管理系统。它结合了 Microsoft Jet Database Engine 和 图形用户界面两项特点,是 Microsoft Office的成员之一。 优点:Access部署简单方便就一个文件运用起来比较灵活主要是桌面数据库系统,他也可以开发基于自己的桌面数据库应用(UI),也可以作为前端开发工具与其它数据库搭配开发应用程序(如SQL Server,DB2,Oracle等),熟练的软件设计师和资料分析师利用它来开发应用软件,而一些不熟练的程序员和非程序员的初级用户则使用它来开发简单的应用软件。
缺点:数据储存量小安全性不够高,加了用户级密码容易破解。C/S结构下对服务器要求很高,否则容易造成MDB损坏并发数255,但是对高强度操作适应性差,如果服务器不够好,网络不够好,编程的方法不够好,6-7个人同时访问就能导致MDB损坏或者并死,不能将VBA代码开发的软件系统直接编译成EXE可执行文件,不能脱离ACCESS或者ACCESS RUNTIME环境,该环境相对其他软件体积较大(50M左右)。Microsoft Access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。
SQL Server是一个关系数据库管理系统。
优点:安全性高真正的客户机/服务器体系结构,图形化用户界面,使系统管理和数据库管理更加直观、简单,丰富的编程接口工具为用户进行程序设计提供了更大的选择余地。SQL Server与Windows NT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。SQL Server也可以很好地与Microsoft BackOffice产品集成。具有很好的伸缩性,可跨越多种平台使用,对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。SQL Server还提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。
缺点:因功能强大,所以操作数据比ACCESS较为复杂。