sql >> Databáze >  >> RDS >> Sqlserver

Zabraňují statistiky odkazující na sloupec vypuštění tohoto sloupce?

Kód navržený v odpovědi JNK nefunguje, ale nápad je dobrý. Pokud chcete smazat všechny statistiky vytvořené uživatelem, toto mé testované řešení:

DECLARE @sql NVARCHAR(MAX)

DECLARE statCursor CURSOR FOR 
SELECT 
    'DROP STATISTICS ' + QUOTENAME(SCHEMA_NAME(t.schema_id)) 
                        + '.' + QUOTENAME(t.name) 
                        + '.' + QUOTENAME(st.name) AS sql
FROM
    sys.stats AS st 
    INNER JOIN sys.tables AS t
        ON st.object_id = t.object_id
WHERE
    st.user_created = 1
ORDER BY 1;

OPEN statCursor;

FETCH NEXT FROM statCursor INTO @sql
WHILE @@FETCH_STATUS = 0  
BEGIN  
    PRINT @sql
    EXEC sp_executesql @sql
    FETCH NEXT FROM statCursor INTO @sql
END  
CLOSE statCursor  
DEALLOCATE statCursor


  1. Docker exec - nemůže volat postgres s proměnnými prostředí

  2. varchar problém s porovnáním data a času

  3. Vygenerujte náhodný řetězec v MySQL

  4. spor o řádky Oracle způsobující chyby uváznutí v aplikaci JMS s vysokou propustností