徵狀
假設您在具有叢集索引且在 Microsoft SQL Server 2012 或 SQL Server 2014 中沒有非叢集索引的資料表上建立列存儲索引。 當您在叢集索引上執行 [ 更新統計資料] 時,會套用不正確的樣本百分比,且長條圖步驟不代表正確的資料發佈。 您可以在更新統計資料後,透過執行下列命令來查看結果:
DBCC SHOW_STATISTICS ( table_or_indexed_view_name , target ) WITH STAT_HEADER
在這種情況下,統計更新可能需要較長的時間,而不正確的長條圖步驟可能會造成欠最佳的查詢執行方案。注意: 這個問題也會發生在 SQL Server 2012 累計更新8(CU8)或更新版本中。
解決方案
此問題最初是在 SQL Server 的後續累積更新中修正。
SQL Server 2014 的累積更新4 /en-us/help/2999197
SQL Server 2012 SP2 累積更新2 /en-us/help/2983175
每個新的 SQL Server 累計更新都包含所有的修正程式,以及前一個累積更新中所包含的所有安全性修正程式。 查看 SQL Server 的最新累計更新:
因應措施
若要解決此問題,請在資料表上新增非叢集索引。
狀態
Microsoft 已確認本篇文章<適用於>一節所列之 Microsoft 產品確實有上述問題。