Home >Database >Mysql Tutorial >SQL Server 2005/2008遍历所有表更新统计信息

SQL Server 2005/2008遍历所有表更新统计信息

WBOY
WBOYOriginal
2016-06-07 14:56:341210browse

SQL Server 2005/2008遍历所有表更新统计信息 无 DECLARE UpdateStatisticsTables CURSOR READ_ONLY FOR SELECT sst.name, Schema_name(sst.schema_id) FROM sys.tables sst WHERE sst.TYPE = 'U' DECLARE @name VARCHAR(80), @schema VARCHAR(40) OPEN Updat

SQL Server 2005/2008遍历所有表更新统计信息
DECLARE UpdateStatisticsTables CURSOR READ_ONLY FOR 
  SELECT sst.name, 
         Schema_name(sst.schema_id) 
  FROM   sys.tables sst 
  WHERE  sst.TYPE = 'U' 
DECLARE @name   VARCHAR(80), 
        @schema VARCHAR(40) 

OPEN UpdateStatisticsTables 

FETCH NEXT FROM UpdateStatisticsTables INTO @name, @schema 

WHILE ( @@FETCH_STATUS <> -1 ) 
  BEGIN 
      IF ( @@FETCH_STATUS <> -2 ) 
        BEGIN 
                DECLARE @sql NVARCHAR(1024) 
		SET @sql='UPDATE STATISTICS ' + Quotename(@schema) 
                           + 
                           '.' + Quotename(@name)
                  EXEC Sp_executesql @sql 
        END 

      FETCH NEXT FROM UpdateStatisticsTables INTO @name, @schema 
  END 

CLOSE UpdateStatisticsTables 

DEALLOCATE UpdateStatisticsTables 

GO
UPDATE STATISTICS tblCompany
USE tblCompany;EXEC sp_updatestats
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn