文档详情

优化数据库性能.doc

发布:2016-08-19约8.92千字共7页下载文档
文本预览下载声明
查询速度慢如何解决 主要针对SQL 2005 为例 引起查询或更新的执行时间超过预期时间的原因有多种。查询运行慢,可能是由与运行 SQL Server 的网络或计算机相关的性能问题引起的,也可能是由物理数据库设计问题引起的。 查询和更新运行慢的最常见原因有: 网络通讯速度慢。 服务器的内存不足,或者没有足够的内存供 SQL Server 使用。 索引列上缺少有用的统计信息。 索引列上的统计信息过期。 缺少有用的索引。 缺少有用的索引视图。 缺少有用的数据条带化。 缺少有用的分区。 用于对运行慢的查询进行故障排除的清单 当查询或更新花费的时间比预期时间长时,请考虑以下问题,找到可解答前一节中列出的查询运行慢的原因: 是与组件而不是与查询相关的性能问题吗?例如,是网络性能低的问题吗?有其他可能引起或造成性能降低的组件吗?Windows 系统监视器可用于监视与 SQL Server 和非 SQL Server 相关的组件的性能。有关详细信息,请参阅监视资源使用情况(系统监视器)。 如果性能问题与查询相关,那么涉及到的是哪个或哪组查询?首先使用 SQL Server Profiler来帮助找出运行慢的查询。有关详细信息,请参阅使用 SQL Server Profiler。 在找出运行慢的查询后,可以使用 SET 语句启用 SHOWPLAN、STATISTICS IO、STATISTICS TIME 和 STATISTICS PROFILE 选项,进一步分析查询的性能,相关描述如下: SET SHOWPLAN_XML ON 描述 SQL Server 查询优化器选择用来检索完善的 XML 文档数据的方法。有关详细信息,请参阅 SET SHOWPLAN_XML (Transact-SQL)。在 Microsoft SQL Server 2005 中,建议使用这种方法。此 SET 选项生成的信息比 SHOWPLAN_ALL 和 SHOWPLAN_TEXT SET 选项生成的信息详细。 SET SHOWPLAN_ALL ON 描述 SQL Server 查询优化器选择的数据检索方法。有关详细信息,请参阅 SET SHOWPLAN_ALL (Transact-SQL)。此 SET 选项生成的信息比 SHOWPLAN_TEXT SET 选项生成的信息详细。 SET SHOWPLAN_TEXT ON 返回每条 Transact-SQL 语句的执行信息,但不执行它们。有关详细信息,请参阅SET SHOWPLAN_TEXT (Transact-SQL)。 SET STATISTICS XML ON 显示每个查询执行后的结果集,并以完善的 XML 文档的形式显示查询执行的概要信息。有关详细信息,请参阅 SET STATISTICS XML (Transact-SQL)。在 SQL Server 2005 中,建议使用这种方法。此 SET 选项生成的信息比 STATISTICS PROFILER SET 选项生成的信息详细。 SET STATISTICS PROFILE ON 显示每个查询执行后的结果集,并显示查询执行的概要信息。有关详细信息,请参阅 SET STATISTICS PROFILE (Transact-SQL)。 SET STATISTICS IO ON 报告与语句中引用的每个表的扫描数、逻辑读取数(在高速缓存中访问的页数)和物理读取数(访问磁盘的次数)的相关信息。有关详细信息,请参阅 SET STATISTICS IO (Transact-SQL)。 SET STATISTICS TIME ON 显示分析、编译和执行查询所需的时间(毫秒)。有关详细信息,请参阅 SET STATISTICS TIME (Transact-SQL)。 在 SQL Server Management Studio 中,还可以打开估计的或实际的图形执行计划选项,以查看 SQL Server 如何检索数据的图示。估计的图形执行计划选项是基于 SHOWPLAN_XML SET 选项的,实际的图形执行计划选项则是基于 STATISTICS XML SET 选项的。有关详细信息,请参阅显示图形执行计划 (SQL Server Management Studio)。由这些工具收集的信息使您能够确定 SQL Server 查询优化器如何执行查询以及使用的是哪些索引。利用这些信息,可以确定通过重写查询、更改表上的索引或修改数据库设计等方法能否提高性能。有关详细信息,请参阅分析查询。 是否已经用有用的统计信息优化查询? SQL Server 自动在索引列上创建对列内值的分布情况的统计信息。也可以手动(使用 SQL Server Manag
显示全部
相似文档