DROP STATISTICS (Transact-SQL)

适用于: SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics 分析平台系统 (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   
[;]  

参数

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 中的统计信息