DROP STATISTICS (Transact-SQL)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics Platform System (PDW)Microsoft Fabric 中的 SQL 分析终结点Microsoft Fabric 中的仓库

删除当前数据库的指定表中的多个集合的统计信息。

注意

有关 Microsoft Fabric 中的统计信息的详细信息,请参阅 Microsoft Fabric 中的统计信息

Transact-SQL 语法约定

语法

-- Syntax for SQL Server and Azure SQL Database  
  
DROP STATISTICS table.statistics_name | view.statistics_name [ ,...n ]  
-- Syntax for Azure Synapse Analytics and Parallel Data Warehouse and Microsoft Fabric
  
DROP STATISTICS [ schema_name . ] table_name.statistics_name   
[;]  

注意

若要查看 SQL Server 2014 (12.x) 及更早版本的 Transact-SQL 语法,请参阅早期版本文档

参数

table | view
其删除统计信息的目标表或索引视图的名称。 表和视图的名称必须符合数据库标识符规则。 可以选择是否指定表或视图所有者名称。

statistics_name
要删除的统计信息组的名称。 统计信息名称必须符合有关标识符的规则。

注解

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

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

有关显示统计信息的详细信息,请参阅 DBCC SHOW_STATISTICS (Transact-SQL)

权限

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

示例

A. 从表中删除统计信息

以下示例将删除两个表的统计信息组(集合)。 VendorCredit 表的 Vendor 统计信息组(集合)和 CustomerTotal 表的 SalesOrderHeader 统计信息(集合)将被删除。

-- Create the statistics groups.  
USE AdventureWorks2022;  
GO  
CREATE STATISTICS VendorCredit  
    ON Purchasing.Vendor (Name, CreditRating)  
    WITH SAMPLE 50 PERCENT  
CREATE STATISTICS CustomerTotal  
    ON Sales.SalesOrderHeader (CustomerID, TotalDue)  
    WITH FULLSCAN;  
GO  
DROP STATISTICS Purchasing.Vendor.VendorCredit, Sales.SalesOrderHeader.CustomerTotal;  

示例:Azure Synapse Analytics 和 Analytics Platform System (PDW)

B. 从表中删除统计信息

以下示例从表 Customer 中删除 CustomerStats1 统计信息。

DROP STATISTICS Customer.CustomerStats1;  
DROP STATISTICS dbo.Customer.CustomerStats1;  

另请参阅

ALTER DATABASE (Transact-SQL)
CREATE INDEX (Transact-SQL)
CREATE STATISTICS (Transact-SQL)
sys.stats (Transact-SQL)
sys.stats_columns (Transact-SQL)
DBCC SHOW_STATISTICS (Transact-SQL)
sp_autostats (Transact-SQL)
sp_createstats (Transact-SQL)
UPDATE STATISTICS (Transact-SQL)
EVENTDATA (Transact-SQL)
USE (Transact-SQL)
Microsoft Fabric 中的统计信息