Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Статистика на базата данни за актуализиране на SQL Server

Здравей,

Статистиката за обекти на базата данни трябва да е актуална, за да вземете правилното решение за оптимизатор на SQL Server.

Ако статистиката на обектите на базата данни не е актуална, тогава оптимизаторът на база данни на SQL Server ще вземе погрешно решение за плана за изпълнение на транзакцията.

Можете да актуализирате цялата статистика на базата данни със следния скрипт в екземпляр на SQL Server.

Трябва да изпълните следната заявка в свободно време на базата данни, например вечер или през уикенда.

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Заменете единичните кавички в SQL Server

  2. Премахване на идентичност от колона в таблица

  3. Как да изтрия големи данни от таблица в SQL без дневник?

  4. Променете ограничение CHECK в SQL Server с помощта на T-SQL

  5. Списък с функции за дата и час в SQL Server (T-SQL)