2
このパーティションビューで無関係なテーブルをオプティマイザに強制的に削除させることはできますか?
私は大きなテーブルのさまざまなアーキテクチャをテストしていますが、私が見た提案の1つは、大きなテーブルを一連の小さな「パーティション」テーブルに分割するパーティションビューを使用することです。 1、2、3、4 このアプローチをテストする中で、あまり意味をなさない何かを発見しました。ファクトビューの「パーティション列」でフィルタリングすると、オプティマイザーは関連するテーブルのみを検索します。さらに、ディメンションテーブルのその列でフィルタリングすると、オプティマイザーは不要なテーブルを削除します。 ただし、ディメンションの他の側面でフィルタリングすると、オプティマイザーは各ベーステーブルのPK / CIを検索します。 問題のクエリは次のとおりです。 select od.[Year], AvgValue = avg(ObservationValue) from dbo.v_Observation o join dbo.ObservationDates od on o.ObservationDateKey = od.DateKey where o.ObservationDateKey >= 20000101 and o.ObservationDateKey <= 20051231 group by od.[Year]; select od.[Year], AvgValue = avg(ObservationValue) from dbo.v_Observation o join dbo.ObservationDates od on o.ObservationDateKey = od.DateKey where od.DateKey …