sql >> データベース >  >> RDS >> Sqlserver

SQLServer更新データベース統計

    こんにちは、

    SQL Serverオプティマイザを正しく決定するには、データベースオブジェクトの統計が最新である必要があります。

    データベースオブジェクトの統計が最新でない場合、SQLServerデータベースオプティマイザーはトランザクションの実行プランについて誤った決定を下します。

    SQLServerインスタンスで次のスクリプトを使用してすべてのデータベース統計を更新できます。

    夕方や週末など、データベースの空き時間に次のクエリを実行する必要があります。

    DECLARE @SQL VARCHAR(1000)  
    DECLARE @DB sysname  
    
    DECLARE curDB CURSOR FORWARD_ONLY STATIC FOR  
       SELECT [name]  
       FROM master..sysdatabases 
       WHERE [name] NOT IN ('model', 'tempdb') 
       ORDER BY [name] 
         
    OPEN curDB  
    FETCH NEXT FROM curDB INTO @DB  
    WHILE @@FETCH_STATUS = 0  
       BEGIN  
           SELECT @SQL = 'USE [' + @DB +']' + CHAR(13) + 'EXEC sp_updatestats' + CHAR(13)  
           PRINT @SQL  
           FETCH NEXT FROM curDB INTO @DB  
       END  
        
    CLOSE curDB  
    DEALLOCATE curDB


    1. 整数をチェックするSQLLIKE条件?

    2. OracleManagedODP.NETがtnsnames.oraを見つけることができません

    3. SQLは単一グループグループ関数ではありません

    4. SQL Serverデータのスクリプトを取得する方法は?