SQLServer数据库优化方案.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SQLServer 数据库优化⽅案 查询速度慢的原因很多,常见如下⼏种:   1、没有索引或者没有⽤到索引(这是查询慢最常见的问题,是程序设计的)   2、I/O吞吐量⼩,形成了瓶颈效应。 3、没有创建计算列导致查询不优化。   4、内存不⾜   5、速度慢   6、查询出的数据量过⼤(可以采⽤多次查询,其他的⽅法降低数据量)   7、锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷)   8、sp_lock,sp_who,活动的⽤户查看,原因是读写竞争资源。   9、返回了不必要的⾏和列   10、查询语句不好,没有优化   可以通过如下⽅法来优化查询 :   1、把数据、⽇志、索引放到不同的I/O设备上,增加读取速度,以前可以将Tempdb应放在RAID0上,SQL2000不在⽀持。数据量 (尺⼨)越 ⼤,提⾼I/O越重要.   2、纵向、横向分割表,减少表的尺⼨(sp_spaceuse)   3、升级硬件   4、根据查询条件,建⽴索引,优化索引、优化访问⽅式,限制结果集的数据量。注意填充因⼦要适当 (最好是使⽤默认值0)。索引应该尽 量⼩,使⽤字节数⼩的列建索引好(参照索引的创建),不要对有限的⼏个值的字段建单⼀索引如性别字段   5、提⾼⽹速;   6、扩⼤服务器的内存, 2000和SQL server 2000能⽀持4-8G的内存。配置虚拟内存:虚拟内存⼤⼩应基于计算机上并发运⾏的 服务进⾏配置。运⾏ Microsoft SQL Server? 2000 时,可考虑将虚拟内存⼤⼩设置为计算机中安装的物理内存的 1.5 倍。如果另外安 装 了全⽂检索功能,并打算运⾏ Microsoft 搜索服务以便执⾏全⽂索引和查询,可考虑:将虚拟内存⼤⼩配置为⾄少是计算机中安装的物理 内存的 3 倍。将 SQL Server max server memory 服务器配置选项配置为物理内存的 1.5 倍 (虚拟内存⼤⼩设置的⼀半)。   7、增加服务器 CPU个数;但是必须明⽩并⾏处理串⾏处理更需要资源例如内存。使⽤并⾏还是串⾏程是MsSQL⾃动评估选择的。单个 任 务分解成多个任务,就可以在处理器上运⾏。例如耽搁查询的排序、连接、扫描和GROUP BY字句同时执⾏,SQL SERVER根据系统的负 载情况 决定最优的并⾏等级,复杂的需要消耗⼤量的CPU的查询最适合并⾏处理。但是更新操作Update,Insert, Delete还不能并⾏处理。   8、如果是使⽤like进⾏查询的话,简单的使⽤index是不⾏的,但是全⽂索引,耗空间。 like a% 使⽤索引 like %a 不使⽤索引 ⽤ like %a% 查询时,查询耗时和字段值总长度成正⽐,所以不能⽤CHAR类型,⽽是VARCHAR。对于字段的值很长的建全⽂索引。   9、DB Server 和APPLication Server 分离;OLTP和OLAP分离   10、分布式分区视图可⽤于实现数据库服务器联合体。联合体是⼀组分开管理的服务器,但它们相互协作分担系统的处理负荷。这种 通 过分区数据形成数据库服务器联合体的机制能够扩⼤⼀组服务器,以⽀持⼤型的多层 Web 站点的处理需要。有关更多信息,参见设计联合 数据库服务器。(参照SQL帮助⽂件分区视图)   a、在实现分区视图之前,必须先⽔平分区表   b、在创建成员表后,在每个成员服务器上定义⼀个分布式分区视图,并且每个视图具有相同的名称。这样,引⽤分布式分区视图名的 查询可以在任何⼀个成员服务器上运⾏。系统操作如同每个成员服务器上都有⼀个原始表的复本⼀样,但其实每个服务器上只有⼀个成员表 和⼀个分布式分区视图。数据的位置对应⽤程序是透明的。   11、重建索引 DBCC REINDEX ,DBCC INDEXDEFRAG,收缩数据和⽇志 DBCC SHRINKDB,DBCC SHRINKFILE. 设置⾃动收缩⽇ 志.对于⼤的数 据库不要设置数据库⾃动增长,它会降低服务器的性能。在T-的写法上有很⼤的讲究,下⾯列出常见的要点:⾸先,DBMS处理查询计划 的过程是这样的:   1、 查询语句的词法、语法检查   2、 将语句提交给DBMS的查询优化器   3、 优化器做代数优化和存取路径的优化   4、 由预编译模块⽣成查询规划   5、 然后在合适的时间提交给系统处理执⾏   6、 最后将执⾏结果返回给⽤户其次,看⼀下SQL SERVER的数据存放的结构:⼀个页⾯的⼤⼩为8K(8060)字节,8个页⾯为⼀个盘 区, 按照B树存放。 12、Commit和

文档评论(0)

166****9181 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档