統計の削除

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

SQL Server Management Studio または Transact-SQL を使用すると、SQL Server のテーブルやビューから統計を削除またはドロップすることができます。

このトピックの内容

はじめに

制限事項と制約事項

  • 統計を削除するときは注意が必要です。 統計を削除すると、クエリ オプティマイザーによって選択された実行プランに影響することがあります。

  • インデックスの統計を DROP STATISTICS で削除することはできません。 インデックスが存在する限り、統計は維持されます。

セキュリティ

アクセス許可

テーブルまたはビューに対する ALTER 権限が必要です。

SQL Server Management Studio を使用する

テーブルまたはビューから統計を削除するには

  1. オブジェクト エクスプローラーで、統計を削除するデータベースをプラス記号をクリックして展開します。

  2. プラス記号をクリックして [テーブル] フォルダーを展開します。

  3. プラス記号をクリックして、統計を削除するテーブルを展開します。

  4. プラス記号をクリックして [統計] フォルダーを展開します。

  5. 削除する統計オブジェクトを右クリックして、 [削除]をクリックします。

  6. [オブジェクトの削除] ダイアログ ボックスで、正しい統計が選択されていることを確認し、 [OK]をクリックします。

Transact-SQL の使用

テーブルまたはビューから統計を削除するには

  1. オブジェクト エクスプローラーで、 データベース エンジンのインスタンスに接続します。

  2. [標準] ツール バーの [新しいクエリ] をクリックします。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。

    USE AdventureWorks2022;  
    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)」を参照してください。