仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1082|回复: 8
打印 上一主题 下一主题

[学习教程] MSSQL网页编程之数据库的选型准绳

[复制链接]
再见西城 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:37:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
优化的SQL查询算法,有效地提高查询速度数据|数据库
1、数据库的选型准绳
1、不乱牢靠(High-Availability)
数据库保留的是企业最主要的数据,是企业使用的中心,不乱牢靠的数据库能够包管企业的使用终年运转,而不会由于数据库的宕机而蒙受丧失。企业的信息化能够增进临盆力,但假如选择了不不乱产物,常常影响营业临盆的一般运营,则实践效果极可能是拖了企业的前进。不管是企图中(数据库保护等一般事情)仍是不测的宕机都将给企业带来伟大的丧失,这意味着企业要减低支出、要下降临盆力、要丧失客户、要在剧烈的企业合作中丧失信念。信息体系的不乱牢靠是由多方面的要素组成的,包含收集、主机、操纵体系、数据库和使用软件等几方面,这些要素相互之间又有必定的依附干系,因而,在企业信息化的选型中要全盘思索这些成绩。在数据库方面次要看数据库要具有劫难恢复、体系毛病恢复、工资操纵毛病恢复等功效,同时要只管下降数据库的企图内保护宕机工夫。
2、可扩大(High-Scalability)
企业的使用是不休深切和扩大的,数据量和单元工夫的事件处置量城市渐渐增添。假如请求企业置办一套信息体系足以满意将来多少年开展的必要明显是不得当的,由于这实践意味着企业要多花良多钱而不克不及发扬信息设备的最年夜效能,形成资本的华侈。对照好的办理举措就是企业先置办一套设置较低,功效合用的体系,当将来营业有必要时能够便利的对体系举行扩大,使体系的处置才能慢慢增添满意营业处置的需求。落实到数据库就是要选择具有优秀的伸缩性及天真的设置功效的产物,不管是主机体系的内存或硬盘方面的扩大仍是集群体系的扩大,都可以被数据库使用,从而进步体系的处置才能。
3、平安性(Security)
数据库的平安性是指回护数据库以避免分歧法的利用酿成的数据保守、变动或损坏。平安性成绩不是数据库体系独占的,一切盘算机体系都有这个成绩。只是在数据库体系中保留着大批主要的数据,并且为很多终极用户共享利用,从而平安成绩更加凸起。体系平安回护措施是不是无效是数据库体系的主要目标之一。数据库的平安把持次要经由过程用户标识与判别、存取把持、视图机制、审计、数据加密等机制完成。
4、丰厚的开辟工具
不管是优异的硬件平台仍是功效壮大的数据库办理体系,都不克不及间接办理终极用户的使用成绩,企业信息化的事情也要落实到开辟或购置合适企业本身办理的使用软件。今朝盛行的数据库办理体系多数遵守一致的接口尺度,以是年夜部分的开辟工具都能够面向多种数据库的使用开辟。固然,数据库厂商一般都有本人的开辟工具,比方SYBASE公司的PowerBuilder,Oracle公司的Developer2000,和Ms的VisualStudio。这些开辟工具各有益弊,但无疑选择和数据库统一个厂商的产物会更有益于使用软件的开辟和未来失掉一致的手艺撑持。
5、服务质量
在当今信息高度兴旺的合作中,数据库厂商完整靠产物质量感动用户的年月已不复存在,各数据库产物在质量方面的差异渐渐减少,而用户选择产物的一个主要要素就是定位在厂家的手艺服务方面。由于在你购置了数据库体系以后,你面对着庞大的软件开辟,数据库的保护,数据库产物的晋级等等,你必要失掉数据库厂商的培训,各类体例的手艺撑持(德律风、用户现场)和征询。数据库厂家的服务质量的优劣将间接影响到企业信息化建立的事情。


2、Oracle
提起数据库,第一个想到的公司,一样平常城市是Oracle。该公司建立于1977年,最后是一家专门开辟数据库的公司。Oracle在数据库范畴一向处于抢先位置。1984年,起首将干系数据库转到了桌面盘算机上。然后,Oracle的下一个版本,版本5,领先推出了散布式数据库、客户/服务器布局等极新的观点。Oracle的版本6创始行锁定形式和对称多处置盘算机的撑持最新的Oracle8次要增添了工具手艺,成为干系-工具数据库体系。今朝,ORACLE产物掩盖了年夜、中、小型机等几十种机型,Oracle数据库成为天下上利用最普遍的干系数据体系之一。
Oracle数据库产物具有以下优秀特征:
  Oracle9i经由过程供应用于电子商务情况的一系列特定功效和产物包,像Oracle8i那样持续聚焦于Internet。别的,Oracle9i增加了新特征和功效,扩展赐与关头义务的基本布局的投资。上面我们先容 Oracle9i在某些关头开辟范畴的新特征:
完成一连的数据可用性
  Oracle9i年夜幅度地扩大了Oracle在Internet 数据库可用性方面的位置。个中包含:
(a)天下抢先的数据回护情况
  Oracle9i包含了很多改善数据回护的新特征。除对现有的Standby产物举行了重点加强外,还包含了一个供应监督、主动化和把持的框架。与办理备用数据相关的很多义务也是主动化的,包含初始化完成、毛病跳转和轻松的主从之间的往返切换。在Oracle9i中还加强了 LogMiner,以便供应周全的基于SQL的日记剖析。
(b)联机数据演化
  Oracle9i包括了一个新的联机从头构造和从头界说布局,此系统供应了更加壮大的从头构造功效。Oracle9i今朝同意连机“CreateTableAsSelect”操纵。在新的系统布局中,表的内容被复制到一个新表中,在复制内容的同时,数据库跟踪对原始表的更新。利用新的系统布局,能够连机变动表的任何物理属性,别的很多逻辑属性都能够变动。Oracle9i还撑持索引编排表下级次索引的联机创立、重修等。办理员也能疾速的中断数据库以便实行请求非举动事件处置的操纵。
(c)正确的数据库修复
  Oracle8i包括十分完整的恢复功效,Oracle9i经由过程使这些功效更壮大和更正确对它们举行了扩大。Oracle9i包含对磁盘破坏的更好防备和改善的处置办法。Oracle9i也能够经由过程利用新的两关隘恢复算法更快地从溃散中恢复过去,此算法确保只要那些必要处置的块才干从数据文件中读取和写进数据文件。
(d)自我服务毛病改正
  Oracle9i包括处置工资毛病的壮大技能,包括受权终端用户以更正确、更无效和更简单的体例改正其本身毛病的功效。要变动毛病,终端用户必要可以经由过程检察变动汗青辨认毛病,而且他们必要可以经由过程将数据恢复为毛病产生之前的数据来加入毛病。查询办法有两种,一种是使用Oracle9i的Flashback(回闪式)的查询特征同意从已往的某一点来查询数据,一种是用Logminer从日记文件中查寻数据库的变动汗青。
可伸缩性和功能
  Oracle9i同意电子商务扩大到万万用户,每一个用户每小时都实行数百万事物处置。包含:
(a)Oracle9iRealApplicationClusters-CacheFusion
  Oracle9iRealApplicationClusters 可使所用的使用程序不经修正便能取得数据库的高可用性、可伸缩性和高功能。Oracle9i CacheFusion 系统布局中使用簇中一切节点的聚合高速缓存来满意数据库哀求。Oracle9i CacheFusion在读/读、读/写和写/写争用的情形下间接将数据块从一个节点的高速缓存输送到另外一个节点的高速缓存。这创建在处置读/写争用之前的Oracle8i CacheFusion实行的基本之上。
(b)可伸缩的会话形态办理
  新的共享内存功效、JAVA会话撑持的改善、联网和多线成服务器改善年夜年夜削减了Oracle9i上每一个用户所需的掩盖区-同意将更多的用户托管在统一个或更年夜的硬件平台上。
(c)对电子商务起关头感化的优化特征
  Oracle9i中的特定功能改善会合于改善对电子商务办理计划起关头感化的范畴和功能。对当地编译改善的PL/SQL优化的撑持年夜年夜进步了现今很多使用程序的功能。对使用程序服务器和后真个Oracle9i数据库之间的毗连来讲,OracleNetServices的新特征--VI(VirtualInterface,假造接口)Protocol撑持功能改良10%。别的,特定的收集接口优化、新改善的假造线路I/O和一致的事务/守候形式都年夜年夜进步了客户机/服务器的通讯功能。经由过程利用OCI来重做数据库/数据库通讯进步了散布式数据库的功能。
供应端到真个平安系统布局
  Oracle9i持续供应业界最平安的使用平台和部署平台。包含:
(a)强健的三层平安
  经由过程代办署理认证加强了三层平安,包含 X.509允许证文件或辨别(DN)的信誉代办署理、对胖JDBC的撑持、使用程序用户的毗连共享(胖JDBC和瘦JDBC、OCI)和与OracleInternetDirectory的集成。
(b)基于尺度的PKI
  OracleAdvancedSecurity(初级平安)的基于尺度的PKI包含PublicKeyCertificate(PKCS)#12的撑持,同意现有的PKI信誉由OreacleWallet共享,从而下降PKI部署本钱并加强交互操纵性。
(c)深层数据库回护
  OracleLabelSecurity,一个基于ViretualPrivateDatabase(假造公有数据库,VPD)的产物,具有更强的VPD功效,加倍精密的粒度考核,可以供应更让人宁神的主机平安。精密的粒度考核同意界说考核政策,它可以为数据库指定触发响应的考核事务的存取提早,并使用了一种天真的事务处置器,将触发的事务关照体系办理员。
(d)改善的EnterpriseUserSecurity(企业用户平安)
  OracleAdvancedSecurity的EnterpriseUserSecurity失掉了加强,个中包含在OracleInternetDirectory中供应能了基于暗码的用户办理,并且暗码办理的功效亦失掉了增强,这些增进了用户和平安政策办理的改良。
(e)数据加密
  Oracle增添了将一个平安随机数发生器(RNG)兼并到DBMS_OBFUSCATION_TOOLLKIT中的数据存储加密功效。
(f)OracleLabelSecurity(Oracle标签平安)
  OracleLabelSecurity 是一个严密粒度会见把持产物。它将一个特别的标签增加到数据行中,供应庞大而天真的标签平安。
(g)OracleInternetDirectory(Oracle因特网目次)
  Oracle9i撑持LDAP手艺以完成收集定名体系的办理、便利体系的部署,不管客户具有一个仍是几百个数据库,每一个数据库具有十几  个仍是不计其数个用户。
电子商务使用程序的开辟平台
  Oracle9i持续为电子商务使用程序和传统使用程序的开辟供应最好的开辟平台。包含:
(a)EnterpriseJavaEngine
  在Oracle8i的第三版中,就已供应了一系列JAVA特征,Oracle9i Database初版对Java的撑持次要会合在:进步嵌进式JavaVirtualMachine(假造机)的功能、供应新的IDBC和SQLJ功效、加强Java存储历程和对J2EE容器的毛病修改。
(b)XML撑持-XML范例和XDK
  Oracle9i以很多加强的数据库操纵为特性,这些操纵经由过程SQL将XML存储在数据库中并将传统数据库数据转换为XML。在Oracle9i中撑持两个次要的XML范畴,一个是内置的AMLDeveloperKit(XML开辟工具包,XDK),一个是当地XML范例。
(c)SQL和PL/SQL改善
  在Oracel9i中改善了SQL和PL/SQL以满意古代开辟的请求。除当地编译外,还改善了整体PL/SQL编译。为了加强工具的有效性、承继、范例演化和静态办法分拨在 Oracle9i 中均失掉撑持。Oracle9i也撑持新的ANSI 请求,包含对 CASE语句、切合ANSI的链接和保存版本标注的撑持。
可办理性
  办理是Oracle9i次要改善之一。Oracle9i 接纳的办理办法有五个方面:
(a)自我办理数据
  Oracle9i数据库可以办理其本身的打消(回退,Rollback)段--办理员不再必要细心计划并优化回退段的数量和巨细,大概为怎样在战略大将事件处置分派给特定的回退段而费心。内存办理是Oracle9i中赐与严重管的另外一个范畴。
(b)改善的和简化的操纵办理
  数据库的其他传统办理范畴也失掉了改善。跟着Oracle9i中耐久地INIT.ORA特征的引进,参数改动在屡次封闭中延续存在。
(c)精密的、主动化的资本办理
  在 Oracle8i中引进DatabaseResourceManager在Oracle9i中失掉了极年夜地加强,可以对更微小的资本举行把持,而且增添了一些新的特征。
(d)办理工具和技能
  Oracle9i也供应了新的特征、工具和技能,使办理员留下了很少的事情成了一件乐事。在Oracle9i中,OracleEnterpriseManager持续供应撑持数据库和全部电子商务平台的新功效的易用办理工具。为了进一步简化办理义务,加强了OracleEnterpriseManager包含有引导的专家诊断和成绩办理计划。一切的基础办理功效是基于WEB的,办理员能够间接从WEB扫瞄器办理其体系。
(e)端到真个体系办理办理计划
  在 Oracle9i中,OracleEnterpriseManager也同意办理员超越仅监督单个方针(如数据库)的功能这一局限,办理员可以监督基于Oracle的全部体系的呼应,并确保它们满意所必要的贸易服务级别商定。
Windows集成
  Oracle9i作为基于 Windows2000 平台上的向导位置。包含:
(a)与Windows2000的集成
  Oracle9i撑持与 MicrosoftTransactionService、MicrosoftMessageQueuing和 InternetInformationServices的更好集成。Oracle9i中的PKI系统布局和 SingleSignon 功效也与Windows2000、ActiveDirectory和 MicrosoftCertificateStore 很好的集成在一同。
(b)在 MSWindows平台上开辟和部署
  关于Windows开辟者,Oracle9i供应了一个加强的当地OLEDBprovider。OracleObjectforWindows撑持 XML、DatabaseEvent(数据库事务)和Oracle9iOCI扩大。


1、SQLSever2000
(1)SQLSERVER的开展过程回忆
MicrosoftSQLServer自从1989年被推出后,稳步地从桌面开展到事情组,并终极走进企业盘算机机房。MicrosoftSQLServer2000是Microsoft公司继MicrosoftSQLServer6.5和MicrosoftSQLServer7.0今后推出的又一改善的新版干系型数据库办理体系。内地能利用户快速的办理数据库和开辟使用程序。SQLServer从20世纪80年月前期入手下手开辟,最夙兴源于1987年的SybaseSQLServer.。1988年,Microsoft公司、sybase公司和aston-tate公司把该产物移植到OS/2上。厥后Aston-Tate公司加入了该产物的开辟,而Microsoft公司、sybase公司签订了一个配合的开辟SQLserver移植到WindowsNT上。这两家公司的配合开辟了局是公布了用于WindowsNT操纵体系的SQLserver。在sqlserver4版本刊行今后,MICROSOFT公司和SYBASE公司在SQLSWRVER的开辟方面中断了互助。MICROSOFT公司努力于WISOWSNT平台上的SQLSERVER开辟,而SYBASE公司则努力于UNIX平台上的SQLSERVER开辟。SQLSERVER6。0版是第一个完整由MICROSOFT公司开辟的版本。1996年,MICROSOFT公司公布具有伟大变更的7。0版。这一版本在数据存储和数据库引擎方面产生了基本性的变更。又经由两年的勉力开辟,于2000年9月布了SQLSERVER2000。从SQLSERVER7。0到SQLSERVER2000的变更是渐进的,没有从6。5到7。0变更那末年夜,只是在SQLSERVER7。0的基本长进行了加强。
(2)以后SQLSERVER的市场占据情形
SQLServer作为微软在Windows系列平台上开辟的数据库,一经推出就以其易用性失掉了良多用户的喜爱。区分于FoxPro、Access小型数据库,SQLServer是一个功效完整的数据库办理体系。它包含撑持开辟的引擎、尺度的SQL言语、扩大的特征(如复制、OLAP、剖析)等功效。而像存储历程、触发器等特征,也是年夜型数据库才具有的。因而它已成为以后市场占上的抢先产物。
SQLServer是开展最快的干系数据库,支出增加为45%,是全部干系数据库市场的三倍。SQLServer是MicrosoftWindows平台上最盛行的干系数据库,占38%的市场份额。(Gartner,2001年6月)SQLServer是最盛行的Web数据库,市场份额为68%。(ZonaResearch,2000年1月)今朝在SQLServer上运转的使用程序凌驾了2000个。查询拜访发明,SQLServer的具有本钱较Oracle等产物低,并且今朝有凌驾85,000名经培训的SQLServer数据库办理员(DBA)。从以上目标能够看出SQLSERVER在以后市场上的凸起体现。
(3)MicrosoftSQLServer2000和SQLServer7.0的功能对照。MicrosoftSQLServer2000在SQLServer7.0的基本上对功能、牢靠性、质量和易用性举行了扩大。SQLServer2000中包括很多新特征,这些特征使其成为针对电子商务、数据堆栈和在线商务办理计划的出色的数据库平台。其加强的特征包含对丰厚的扩大标志言语(XML)的撑持、综合剖析服务和便利的数据库办理(具体内容见后文)。总之,关于但愿确保数据库办理计划具有伸缩性、牢靠性及天真性的客户而言,SQLServer2000供应的新特征较SQLServer7.0具有明显的上风。
(4)SQLSever2000的范围性。因为SQLSERVER仅仅范围于MICROSOFT的操纵体系。使得SQLSERVER不克不及从其他的操纵体系的优秀特征中获益。如UNIX在加强的并行系统布局或是企业盘算等范畴就优于WINDOWSNT/2000。
为了在某种程序上弥补这一缺陷,许多SQL命令都有一个DELAY_KEY_WRITE项。这个选项的作用是暂时制止MySQL在该命令每插入一条新记录和每修改一条现有之后立刻对索引进行刷新,对索引的刷新将等到全部记录插入/修改完毕之后再进行。
分手快乐 该用户已被删除
沙发
发表于 2015-1-18 14:56:12 | 只看该作者
换言之,只有在不断的失败中尝试成功,而关于失败的总结却是很少的
愤怒的大鸟 该用户已被删除
板凳
发表于 2015-1-22 07:13:53 | 只看该作者
SP4包括用于以下SQLServer2000组件的程序包:Database组件(下载文件:SQL2000-KB884525-SP4-x86.EXE)更新SQLServer2000的32位Database组件,包括数据库引擎、复制、客户端连接组件及工具。有关其他信息,请参阅ReadmeSql2k32Sp4.htm。AnalysisServices组件(下载文件:SQL2000.AS-KB884525-SP4-x86.EXE)更新SQLServer2000的32位AnalysisServices。
冷月葬花魂 该用户已被删除
地板
发表于 2015-1-30 23:42:16 | 只看该作者
Mirror可以算是SQLServer的Dataguard了。但是能不能被大伙用起来就不知道了。
乐观 该用户已被删除
5#
发表于 2015-2-6 17:03:46 | 只看该作者
我们学到了什么?思考问题的时候从表的角度来思考问
若相依 该用户已被删除
6#
发表于 2015-2-17 11:56:28 | 只看该作者
大家注意一点。如下面的例子:
admin 该用户已被删除
7#
发表于 2015-3-5 19:36:35 | 只看该作者
你可以简单地认为适合的就是好,不适合就是不好。
第二个灵魂 该用户已被删除
8#
发表于 2015-3-12 12:17:46 | 只看该作者
还不是性能有问题!否则面向对象的数据库早就实现了!建议使用CLR的地方一般是和应用的复杂程度或操作系统环境有很高的耦合度的场景。如你想构建复杂的算法,并且用到了大量的指针和高级数据模型。
透明 该用户已被删除
9#
发表于 2015-3-19 22:11:32 | 只看该作者
其实可以做一下类比,Oracle等数据库产品老早就支持了java编程,而且提供了java池参数作为用户配置接口。但是现在有哪些系统大批使用了java存储过程?!连Oracle自己的应用都不用为什么?!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-6-17 01:13

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表