【问题标题】:How to get the statistics existing on a column, if any?如何获取列上存在的统计信息(如果有)?
【发布时间】:2010-09-17 16:35:54
【问题描述】:

如果表中的特定列有统计信息,我想检查 Transact SQL,如果有,就全部获取。

【问题讨论】:

    标签: sql-server-2005 tsql statistics


    【解决方案1】:

    这个查询应该可以做到。
    我在浏览数据库以查找统计信息的存储过程中使用它。
    适用于 SQL Server 2005 和可能的旧版本。

    SELECT S.NAME
    FROM   SYS.OBJECTS AS O
           INNER JOIN SYS.STATS AS S
             ON O.OBJECT_ID = S.OBJECT_ID
           INNER JOIN SYS.STATS_COLUMNS AS SC
             ON SC.OBJECT_ID = S.OBJECT_ID
                AND S.STATS_ID = SC.STATS_ID
    WHERE  (O.OBJECT_ID = OBJECT_ID('MyTable','local'))
           AND (O.TYPE IN ('U'))
           AND (INDEXPROPERTY(S.OBJECT_ID,S.NAME,'IsStatistics') = 1)  /* only stats */
           AND (COL_NAME(SC.OBJECT_ID,SC.COLUMN_ID) = 'MyColumn')
    

    【讨论】:

    猜你喜欢
    • 2017-01-26
    • 1970-01-01
    • 2022-10-06
    • 2011-04-29
    • 2021-01-12
    • 2012-07-22
    • 1970-01-01
    • 2010-11-25
    • 1970-01-01
    相关资源
    最近更新 更多