大型数据库在WindowsNT网上的应用.doc_第1页
大型数据库在WindowsNT网上的应用.doc_第2页
大型数据库在WindowsNT网上的应用.doc_第3页
大型数据库在WindowsNT网上的应用.doc_第4页
大型数据库在WindowsNT网上的应用.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大型数据库在Windows NT网上的应用Microsoft 公司的Windows NT网络操作系统具有优秀的GUI接口,人机界面十分友好;支持几乎所有的大型数据库系统,如Oracle、Sybase、SQL Server等,因此在实际工程中被广泛应用。作为大型数据库在网络中的应用,我们将介绍基于Windows NT的SQL Server的数据库程序开发,开发工具采用Powerbuilder 5.0。目前,大型数据库应用软件以客户机/服务器(Client/Server)结构最为流行。这是因为C/S结构在网络用户和网络上的应用很多的情况下,可以减少网络负担,提高网络应用的速度。C/S结构的优点是前台查询数据时发送查询请求,由后台的数据库服务器(Server端)查询、处理数据,然后把所得的结果返回给发出查询请求的前台机器(Client端)。这样,大量的数据无须在网络上传送,大大减轻了网络负担,提高了网络的利用率。作为前台开发工具,Powerbuilder 5.0可以直接与多种大型数据库连接(如Oracle,Sybase,Informix,MS SQL Server等),而无须通过ODBC,接口简单,速度快。从而大大缩短开发周期,提高开发效率。作为Powerbuilder特色之一的数据窗口(Datawindow)对象在处理大型数据库数据方面具有独特的优势。只要运用得当,就可以使应用程序充分运用客户机/服务器结构的特点,方便快捷的得到查询结果,而且查询结果的输出格式可以非常灵活的按照需要安排。Powerbuilder内嵌SQL语句,使熟悉SQL语句的程序员可以更方便的访问远程数据,提高效率。需要注意的是并不是大型数据库加Powerbuilder开发出的系统就是客户机/服务器结构。如果Datawindow以及一些powerbuilder函数应用不当,就会失去客户机/服务器结构的特点。此时若数据量小还无关紧要,但如果数据量非常大就会使系统效率受到致命的影响。举一个简单的例子,如果需要查询某类的图书,使用Powerbuilder函数SetFilter (条件),那么Powerbuilder会把Datawindow中定义的列的所有的行的数据全部读到客户端机器,然后再根据“条件”中定义的范围显示应该显示的内容。这时可以看出,数据的检索是在客户端完成的,仅仅把数据库服务器当成了文件服务器,服务器的数据处理能力被浪费了。典型的客户机/服务器的处理方法应该是使用带参数的Retrieve(条件)函数,或者用Getsqlselect()取出SQL表达式再用字符串处理函数处理后用Setsqlselect()置回。Powerbuilder在处理时,把对Datawindow操纵的script语句(Retrieve, Update)翻译成内嵌SQL语句,最后发送到服务器端。注意这时的条件是作为SQL语句的Where条件发送到服务器端的,Powerbuilder仅做必要的语法检查,并不处理,由数据库服务器根据这个条件检索出数据,并把检索出的结果返回给客户机,由Powerbuilder根据datawindow定义的风格显示给用户内容。由此可以看出,客户端的系统资源主要用于快速美观的实现GUI界面,方便最终用户的使用;服务器端的系统资源主要用于数据的存储、处理、检索和响应各客户端的请求。客户机与服务器一起协同工作,就构成了界面美观,维护方便,效率高,速度快的应用系统。客户机/服务器体系应用系统的设计与非客户机/服务器体系应用系统的设计最大区别在于客户机/服务器体系应用系统不仅要考虑客户端Powerbuilder如何编程,还要考虑服务器端数据库的结构,索引如何建立,客户端程序如何最大限度的利用SQL Server的优化策略。在大型数据库中,优化系统效率是一个比较复杂的问题,应该寻求数据库厂商专业技术人员方面的技术支持。用户能做的主要是考虑如何建立索引。建立索引的目地是为了优化检索速度,如果检索所需要的时间过长,便有理由怀疑是否索引不存在或者优化器没有使用索引。尚若是索引不存在,那么就应该建立正确的索引,来解决检索速度慢的 问题。索引可分为Clustered(簇式)和Non-Clustered(非簇式)两种。选择什么样的索引基于用户对数据的检索条件,这些条件体现于where从句和join表达式。在什么样的条件下才选择Clustered索引呢?如果你的应用与以下情况相符,你可以考虑选择 Clustered索引:.主键时常作为where子句的条件 . 在where表达式中,某一列经常出现x=column =y这样类似的格式 .某一列非常频繁地被访问 .某列被用作order by或group by .某列很少被改写 .某列常出现在join中. Non-Clustered常被用在以下情况: .某列常用于Aggregate函数(如Sum,.) .某列常用于join,order by,group by. .查寻检索出的数据不超过表中数据量的20%. 如果建立了正确的索引,一般来说检索速度就会有明显的改善。但有时我们会发现这样的情况,一个表上已经建立了索引,但当我们按索引了的列检索时发现速度很慢,几乎跟没建索引一样。这时,索引就需要维护了。随着应用系统的运行,数据不断地发生变化,当数据变化达到某一个程度时将会影响到索引的作用。某些不合适的索引影响到SQL Server的性能。维护索引的一种方法是删除老的索引,重新建新的索引。另外一种方法是保持索引统计有效(使用命令update statistics实现)。在下面几种情况下需要考虑重建索引: .使用数据模式发生了较大变化. .某段时间内有极大量的数据插入. .SQL Server排序改变. .dbcc发现索引错误. 当重建Clustered索引时,这张表的所有Non-Clustered索引将被重建。 大型数据库的索

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论