1
クラスター化された列ストアからのこの削除には、熱心なスプール演算子が役立ちますか?
クラスター化された列ストアインデックスからのデータの削除をテストしています。 実行計画に大きな熱心なスプールオペレーターがいることに気付きました。 これは、次の特性で完了します。 6,000万行が削除されました 1.9 GiB TempDBを使用 実行時間14分 シリアルプラン 1スプールで再バインド スキャンの推定コスト:364.821 見積もりツールをだまして過小評価するようにすると、TempDBの使用を回避するより高速なプランが得られます。 推定スキャンコスト:56.901 (これは推定プランですが、コメントの数値は正しいものです。) 興味深いことに、次を実行してデルタストアをフラッシュすると、スプールは再び消えます。 ALTER INDEX IX_Clustered ON Fact.RecordedMetricsDetail REORGANIZE WITH (COMPRESS_ALL_ROW_GROUPS = ON); スプールは、デルタストアにページのしきい値を超えるしきい値がある場合にのみ導入されるようです。 デルタストアのサイズを確認するには、次のクエリを実行して、テーブルの行内ページを確認します。 SELECT SUM([in_row_used_page_count]) AS in_row_used_pages, SUM(in_row_data_page_count) AS in_row_data_pages FROM sys.[dm_db_partition_stats] as pstats JOIN sys.partitions AS p ON pstats.partition_id = p.partition_id WHERE p.[object_id] = OBJECT_ID('Fact.RecordedMetricsDetail'); …