Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Statistics SQl Server 2000执行:缺少统计信息_Statistics_Sql Server 2000_Query Optimization_Sql Execution Plan - Fatal编程技术网

Statistics SQl Server 2000执行:缺少统计信息

Statistics SQl Server 2000执行:缺少统计信息,statistics,sql-server-2000,query-optimization,sql-execution-plan,Statistics,Sql Server 2000,Query Optimization,Sql Execution Plan,我在生产中遇到过这样一种情况,一个过程在两种不同的环境中花费了不同的时间,当我试图运行执行计划时,缺少了一些统计数据。当我点击这些图标时(为了引起注意,它是红色的)。两台服务器中都缺少Stsstics。但我看到一条消息后感到奇怪。有一个名为number of executes的字段,在慢速服务器中为23,在快速服务器中为1。谁能告诉我这件事的重要性吗 编辑碎片不是问题,因为当我检查时发现重新组织只会重新定位2%的页面,新服务器是使用合并复制创建的。请就执行lan中的“执行次数”以及我们如何减少执

我在生产中遇到过这样一种情况,一个过程在两种不同的环境中花费了不同的时间,当我试图运行执行计划时,缺少了一些统计数据。当我点击这些图标时(为了引起注意,它是红色的)。两台服务器中都缺少Stsstics。但我看到一条消息后感到奇怪。有一个名为number of executes的字段,在慢速服务器中为23,在快速服务器中为1。谁能告诉我这件事的重要性吗

编辑碎片不是问题,因为当我检查时发现重新组织只会重新定位2%的页面,新服务器是使用合并复制创建的。请就执行lan中的“执行次数”以及我们如何减少执行次数提供建议


编辑:重建索引是否会提高性能

SQL 2000过去在统计数据和某些执行计划方面存在问题,您必须添加查询提示,以确保执行按您希望的方式进行。对于初学者,请确保您在SP4上,然后应用以下修补程序:

此修补程序虽然说明了非法操作的问题(它解决了64位计算机和SQL2000的崩溃问题),但也解决了其他一些执行计划问题。尽管我最终还是建议升级到SQL 2008,它似乎解决了我们过去遇到的一些统计问题

下面的链接更详细地解释了执行的次数:


好的,但我无法对生产环境进行重大更改,我们将很快迁移到SQL Server 2008。但我怀疑,若两个存储过程是相同的,表中有相同的索引和数据,那个么执行计划应该几乎相同。为什么会出现1和23的差异。存储过程在fast中执行需要4秒,在fast服务器中执行需要23秒。慢速服务器是指执行次数为23的服务器。知道应该交叉检查什么吗?请确保在慢速服务器上更新统计信息。在sql分析器中,运行“sp_updatestats”。这会改变什么吗?您还可以运行“dbcc dbreindex(tablename)”对索引进行碎片整理。只是好奇你是如何在第二台服务器上获得数据库的?备份/还原或dts?@@Brain:请查看问题的编辑部分。我已经完成了所有这些东西,我只担心执行计划中的“执行次数”。复制。我相信在已发布的表上创建了触发器,这可能是您看到的额外处理。@@Brain:一旦复制结束,触发器将如何影响存储过程的执行。只有在存储过程中使用的表上有触发器时,它才会产生影响。此外,我在存储过程中只使用了一个大的seletc查询,它只指向2个表。有一些商业逻辑。所以我认为触发器不应该是个问题。如果您认为还有其他地方需要检查,请提出建议。您能保证数据、索引、结果、硬件、版本和设置都相同吗?数据、索引、结果和版本都相同(SQL 2000)。但新服务器速度较慢,是SQl server 2003上内置的命名实例。但旧服务器SQl server在Windows 2000操作系统上是嵌入式的。