私はすべての暗黙の変換を解決しましたが、計画にはまだそれが言及されています。私は計画を添付しました、そして、どんな推薦でも役に立ちます。
select cardholder_index, sum(value) as [RxCost]
into #rxCosts
from RiskPredictionStatistics with (nolock) where model_name = 'prescription_cost_12_months'
and model_set_name = 'rx_updated' and run_id in (select value from #runIds)
and exists (select 1 from StringContainsHelper with (nolock) where IntValue = cardholder_index and ReferenceId = @stringContainsHelperRefId)
group by cardholder_index
_#runIds
_テーブルにデータを入力するときのように見えます-そしてここではワイルドな推測をしています-値をNVARCHAR(MAX)
として出力する文字列分割関数を使用しています。
そこで値を変換して、暗黙の変換警告を取り除くことができます。
別の可能な改善点は、RiskProductionStatisticsの_NonClustereIndex-Cardholder
_インデックスを変更して、_model_set_name
_をキー列として、_model_name, run_id, value
_をインクルード列として持つことです。これはキールックアップに対処します。
_model_name
_のデータ型を確認することもできます。これはFilter演算子に表示されますが、私の恐れは、MAXデータ型であるため、 述語がプッシュダウンされないようにする になる可能性があります。
これは推定計画であり、クエリに関するメトリックが含まれていないため、これらの変更によってどれほどの改善が見られるかはわかりません。