All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
ASP.NET常见错误提示_[Asp.Net教程]
优秀.net,控件包介绍_[Asp.Net教程]
Asp.Net,Ajax,学习笔记16,Profile,Service扩展方式_[Asp.Net教程]
对.NET,Framework,反射的反思_.net资料_编程技术
比较测试PHP+MYSQL分页机制两种方案_[PHP教程]
Asp.net三层结构中的变量引用与传递_[Asp.Net教程]
SQL Server 索引基础知识(2)----聚集索引,非聚集索引_[SQL Server教程]
c#中GDI+图形图像:GDI+中曲线的填充使用方法
Visual,Studio,2008,Service,Pack,1,-,BETA,发布_[Asp.Net教程]
SQL,Artisan多表查询和统计_.net资料_编程技术
Reading number is top 10 pictures
Look at the Spring Festival people crowded into the what kind
NeedWallpaper7
做运动的校花2
日本小萝莉1
Gang rape
The money of more than 100 countries and regions21
The beginning and end
Azusa Yamamoto2
Sora aoi possession photo1
不知名的美女素颜照1
Download software ranking
电车之狼R
Boxer vs Yellow4
中国结婚习俗实录
Tram sex maniac 2 (H) rar bag15
C#与.NET技术平台实战演练
Boxer vs Yellow3
功夫熊猫2(上集)
C语言教程TXT
Unix video tutorial19
jBuilder2006
归海一刀 published in(发表于) 2014/2/3 6:47:41 Edit(编辑)
解决sql server查询速度慢11个方法_[SQL Server教程]

解决sql server查询速度慢11个方法_[SQL Server教程]

解决sql server查询速度慢11个方法_[SQL Server教程]
网页制作过程中经常可以遇到SQL Server数据库查询速度慢的的情况,通过总结发现其原因主要有以下几种:
  1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)
  2、I/O吞吐量小,形成了瓶颈效应。
  3、没有创建计算列导致查询不优化。
  4、内存不足
  5、网络速度慢
  6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量)
  7、锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷)
  8、sp_lock,sp_who,活动的用户查看,原因是读写竞争资源。
  9、返回了不必要的行和列
  10、查询语句不好,没有优化

  针对这些问题,我们可以通过以下11个方法来优化sql server查询:

  1、把数据、日志、索引放到不同的I/O设备上,增加读取速度,以前可以将Tempdb应放在RAID0上,SQL2000不在支持。数据量(尺寸)越大,提高I/O越重要。
  2、纵向、横向分割表,减少表的尺寸(sp_spaceuse)
  3、升级硬件
  4、根据查询条件,建立索引,优化索引、优化访问方式,限制结果集的数据量。注意填充因子要适当(最好是使用默认值0)。索引应该尽量小,使用字节数小的列建索引好(参照索引的创建),不要对有限的几个值的字段建单一索引如性别字段。
  5、提高网速。
  6、扩大服务器的内存,Windows 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-sql的写法上有很大的讲究,下面列出常见的要点:首先,DBMS处理查询计划的过程是这样的:
  1、 查询语句的词法、语法检查
  2、 将语句提交给DBMS的查询优化器
  3、 优化器做代数优化和存取路径的优化
  4、 由预编译模块生成查询规划
  5、 然后在合适的时间提交给系统处理执行
  6、 最后将执行结果返回给用户。


添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.