提高查询速度:SQL Server数据库优化方案
日期:2008年5月28日 作者: 查看:[大字体 中字体 小字体]-
查询速度慢的原因很多,常见如下几种:
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、扩大服务器的内存,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、在创建成员表后,在每个成员服务器上定义一个分布式分区视图,并且每个视图具有相同的名称。这样,引用分布式分区视图名的查询可以在任何一个成员服务器上运行。系统操作如同每个成员服务器上都有一个原始表的复本一样,但其实每个服务器上只有一个成员表和一个分布式分区视图。数据的位置对应用程序是透明的。 - [1] [2] [3] [4] [5] [6] [7] [8] 下一页
-
- 提高查询速度:SQL Server数据库优化方案 相关文章:
- ·局域网常用的DOS查询IP地址命令
- ·提高查询速度:SQL Server数据库优化方案
- ·XP命令提示符详解及IP查询
- ·手机号码归属地查询
- ·Windows错误代码大全集合查询
- ·数据库查询优化
- ·ASP下实现多条件模糊查询SQL语句
- ·在PB中如何实现数据模糊查询
- ·oracle系统表查询
- ·域名查询代码公布
- 提高查询速度:SQL Server数据库优化方案 相关软件
- ·手机号码归属地查询软件 V5.3.7.0715 免费版
- ·世界三极管查询系统 V2.3
- ·MAC地址查询扫描器 V1.0
- ·手机归属者查询 V3.0
- ·人体生物节律查询 V7.09
- ·手机号码归属地查询软件 V6.6.8.0514 会员版
- ·家庭用药查询手册 V1.9 正式版
- ·电话号码存储查询系统 V6.25 专业版
- ·Tolerance机械公差查询工具 V7.4
- ·TC2.0库函数查询 V1.0
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
下一篇:技巧之Mysql 导出数据表结构
精品推荐
热点TOP10
- ·精妙SQL语句收集
- ·SQL Server不存在或访问被拒绝 问题的解决
- ·SQL里的cast和convert
- ·学习SQL语句之SQL语句大全
- ·CS服务器架设方法
- ·SQLPLUS命令的使用大全
- ·数据库连接字符串大全
- ·SQL Server 练习题
- ·SQL Server不存在或访问被拒绝 问题的解决
- ·学习SQL SERVER的存储过程-之一认识存储过程语法
- ·什么是SQL注入法攻击
- ·触发器概述
- ·MS-SQL开发常用汇总和t-sql技巧集锦
- ·巴塞尔新资本协议概述
- ·提高查询速度:SQL Server数据库优化方案
- ·SQL中CASE的用法
- ·SQLSERVER中,数据库同步的实现
- ·一道褒贬不一的SQL考试题
- ·认识VF--Visual FoxPro 漫谈
- ·怎么用sql修改表名
特别推荐
- ·学习SQL语句之SQL语句大全
- ·打造SQL Server2000的安全策略
- ·SQL语句优化技术分析
- ·MySQL导入导出方法与工具
- ·CS服务器架设方法
- ·改进的socket控件
- ·什么是SQL注入法攻击
- ·用SQL语句删除重复记录的四种方法
- ·数据库查询优化
- ·MySQL常见错误问答!
- ·MySQL从后门进企业市场
- ·精妙SQL语句收集
- ·如何在WinNT/2K/XP下启动纯DOS
- ·自己动手做一个SQL解释器
- ·SQL SERVER实用技巧
- ·动态创建MSSQL数据库表存储过程
- ·数据库的分页问题
- ·DM分区软件使用详解
- ·对ADSL接入方式铜缆可用线对率分析
- ·收集的host文件网站黑名单
