删除统计信息

适用于:SQL Server (所有受支持的版本) Azure SQL数据库Azure SQL 托管实例 Azure Synapse Analytics Analytics Platform System (PDW)

可以使用 SQL Server Management Studio 或 Transact-SQL 从SQL Server中删除表和视图的 (删除) 统计信息

本主题内容

开始之前

限制和局限

  • 删除统计信息时,请谨慎从事。 这样做可能会影响查询优化器选择的执行计划。

  • 不能使用 DROP STATISTICS 删除有关索引的统计信息。 统计信息的保留时间与索引存在的时间相同。

安全性

权限

要求对表或视图具有 ALTER 权限。

使用 SQL Server Management Studio

从表或视图中删除统计信息

  1. “对象资源管理器” 中,单击加号以便展开要删除统计信息的数据库。

  2. 单击加号以便展开 “表” 文件夹。

  3. 单击加号以便展开要删除统计信息的表。

  4. 单击加号以便展开 “统计信息” 文件夹。

  5. 右键单击要删除的统计信息对象,然后选择“删除”。

  6. “删除对象” 对话框中,确保已选择正确的统计信息,然后单击 “确定”

“使用 Transact-SQL”

从表或视图中删除统计信息

  1. “对象资源管理器” 中,连接到 数据库引擎的实例。

  2. 在标准菜单栏上,单击 “新建查询”

  3. 将以下示例复制并粘贴到查询窗口中,然后单击“执行” 。

    USE AdventureWorks2012;  
    GO  
    -- First, create two statistics named VendorCredit and CustomerTotal  
    -- The first statistic uses a random 50% sample of information provided from the Name and CreditRating columns in the Purchasing.Vendor table.  
    CREATE STATISTICS VendorCredit  
        ON Purchasing.Vendor (Name, CreditRating)  
        WITH SAMPLE 50 PERCENT  
    -- The second statistic uses all of the information from the CustomerID and TotalDue columns in the Sales.SalesOrderHeader table  
    CREATE STATISTICS CustomerTotal  
        ON Sales.SalesOrderHeader (CustomerID, TotalDue)  
        WITH FULLSCAN;  
    GO  
    -- This next statement drops both of the statistics created above. Note that the naming convention is [table_name].[statistics_name].  
    DROP STATISTICS Purchasing.Vendor.VendorCredit, Sales.SalesOrderHeader.CustomerTotal;  
    GO  
    

有关详细信息,请参阅 DROP STATISTICS (Transact-SQL)