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

Статистическите данни, препращащи към колона, предотвратяват ли отпадането на тази колона?

Кодът, предложен в JNK отговора, не работи, но идеята е добра. Ако искате да изтриете всички статистики, създадени от потребителя, това е тестваното от мен решение:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL заявка, която получава всички пощенски кодове (адреси) в радиус от 20 мили от даден пощенски код

  2. SQL Server ИЗБЕРЕТЕ В @променлива?

  3. Как връщате имената на колоните на таблица?

  4. Оптимизация на SQL заявки:Най-добри практики за подобрена производителност

  5. Какъв тип данни трябва да се използва за съхраняване на телефонни номера в SQL Server 2005?