sql2000 查询速度慢的原因 2009 年10 月13 日 星期二 10:53 查询速度慢的原因很多,常见如下几种: 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 字 ...