У тебя этот спул, эти три строки, джойнятся с набором данных с существенно большим количеством строк, потому имеет место умножение. Не будь спула это было бы чёртова куча чтений из того фуллскана, что справа ниже по дереву плана. В целом к этой части плана претензий нет. Если хочешь улучшить план - посмотри на ветку, что выше - почему там много строк в соединении или много ли? Как соотносится число записей на выходе джойна с числом на оных на входе? Можно ли свести Nested Loop к Merge Join что сократит число чтений, кажется, втрое?