with my_cte as
(
...
)
select c1
from my_cte
これは高速 (2 秒) で動作しますが、これは
with my_cte as
(
...
)
select c1, c2, .. c9
from my_cte
動作が遅い (11 秒)。
クエリと実行計画が必要なのはわかっていますが、残念ながらここに投稿することはできません。おそらく、これについていくつかの理論的な理由を説明できますか?
編集 犯人の列は、多数のレコードを持つテーブルの nvarchar 列のようです。そのテーブルから id だけを選択します - 高速ですが、id と名前を選択すると遅いです。
そして、実行計画から-どちらも(高速と低速)、テーブルスプール(レイジースプール)からのコストが50%を超えています。