基于SQL server 数据库优化查询分析.docVIP

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于SQL server 数据库优化查询分析

基于SQL server 数据库优化查询分析   【摘要】 为了缩短大数据量的查询处理时间,提高数据库应用系统的效率,提出了针对SQL语句进行优化的策略。首先分析了数据库应用系统的时间开销;然后介绍了SQL语句执行路径和语句优化的原理;其次分析SQL语句优化的通用策略和原则,通过相应的解释加深读者对这些策略和方法的理解;最后总结了SQL的优化意义以及技术发展的趋势。   【关键词】 SQL server ;数据库;优化查询      随着信息化时代的到来,各类信息管理系统和数据库结合越来越紧密,其应用数据也随着时间推移而高速地增长,数据库的重要性也日渐显著。当数据量较小时,应用程序操作数据库的速度和可靠性往往被忽视,部分小型数据库系统(如FoxPro)就可以满足用户的要求。当数据量达到几十万甚至更多时,数据库的瓶颈就会出现。因此,对数据库系统查询性能进行优化是很有必要的。   一、C/S模式数据库系统时间开销   基于C/S模式数据库应用系统时间开销在对数据库应用系统进行操作时,剔除硬件配置对系统性能影响时,时间开销主要由以下三部分组成:   网络延迟的时间开销:系统工作于C/S模式,客户端向服务器端提交SQL请求,服务器端将处理结果返回客户端。数据需要在网络上传输,必然有一定的网络延迟。服务器端数据处理的时间开销:服务器端接收到客户端提交的SQL请求后,会执行数据维护、查询等操作。客户端数据处理的时间开销:客户端接收到服务器返回的数据后,需要进一步处理,如统计、排序等,最后将结果通过用户接口显示给用户。   当数据库系统数据量到一定程度时,如上千万条信息,若查询时采用单条顺序扫描,则把所有的记录扫描一遍可能花上几十分钟,这样的情况在网络上表现为超时,这样的系统就失去了使用的意义。在处理大容量数据库时,处理时间主要耗费在服务器端。为了提高数据库应用系统的可靠性和有效性,需要采取合理的查询优化策略。   二、SQL语句执行路径与语句优化原理   (一)SQL语句执行路径   当用户提交一条SQL语句时,系统会做如下操作:   第一步:客户端把语句发送给服务器端执行。   第二步:解析语句。客户端把SQL语句传送到服务器后,服???器进程会对该语句进行解析。服务器端具体工作步骤如下:(1)查询高速缓存。如果在高速缓存中有其他用户使用过这个查询语句,服务器进程就会直接执行这个SQL语句,省去后续的工作。(2)检查语句合法性。(3)检查语言含义。(4)获得对象解析锁。语法、语义都正确后,系统就会对需要查询的对象进行加锁。(5)核对数据访问权限。(6)确定最佳的执行计划。服务器进程会依据一定的规则,对语句进行优化。当服务器进程的优化器确定最佳的执行计划后,就会将SQL语句与执行计划保存到数据高速缓存中。等以后还有这个查询时,就会省略以上的语义、语法和权限检查的步骤,而直接执行SQL语句,从而提高SQL语句的处理效率。   第三步:语句执行。分两种情况:(1)如果数据不在缓冲区中,服务器进程将从数据库文件中查询相关数据,并把这些数据放入到数据缓冲区中。(2)如果被选择的数据块已经被读取到数据缓冲区中,服务器进程会直接把这个数据传递给客户端。   第四步:提取数据。返回语句执行结果。从以上SQL语句执行过程来看,要想提高SQL语句执行效率,必须提高SQL语句书写规范和技巧。   (二)SQL语句的优化原理   SQL是集数据操纵和数据定义于一体的数据库语言,可以作为独立的语言在终端上以交互方式使用,也可以作为程序设计中的子语言使用,即嵌入到高级语言中使用,用户可以通过SQL语言方便地从数据库中获得自己需要的信息。SQL语句的优化是把原有的SQL语句转换成为语义相同而处理效率更高的SQL语句。在SQL系统中,用户提交的SQL语句是系统优化的基础,系统采用基于规则的和基于成本的方法优化用户所提交的SQL语句。SQL语句的优劣至关重要,一个好的查询计划往往可以减少系统试图优化的时间从而使程序性能提高几十倍,而不良的SQL语句则以低效方式访问数据库,从而导致不必要的数据扫描和传输不必要的数据,耗费大量数据库资源。   SQL语句的优化原理是尽可能减少查询中参与加工的数据量,以此达到优化空间和时间的目的。查询优化力图找出一个与给定表达式等价,但执行效率更高的表达式。一个查询往往会有许多实现方法,关键是如何找出一个与之等价的且占用资源更少的表达式。数据查询处理的代价一般取决于对磁盘的访问,因为磁盘访问比内存的访问速度要慢得多。查询优化关注的问题是怎样省空间、省时、高效率。   三、SQL优化查询的原则   (一)优化排序操作   1.对经常进行连接和排序操作的字段建立索引。建立索引后,当服务器向这些字段发出排

文档评论(0)

317960162 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档