Я внутренне соединяю большую таблицу с табличной функцией, которая возвращает значение для присоединения. К сожалению, все мои индексы игнорируются, что приводит к сканированию таблицы на большой таблице. Я только что использовал 1020 в качестве параметра здесь, но на самом деле это переменная.
select t1.*
from [DS_DataAccess_XA_EMIR_TSR] t1 (nolock)
INNER JOIN SFTR_fn_UserAccess_GetLEIAccess(1020) t2
ON t1.[Trade Party 1 - Execution Agent ID] = t2.LEI
OR t1.[Trade Party 2 - Execution Agent ID] = t2.LEI
У меня есть отдельные индексы на обеих полях настройки Trade Party. Сама функция запускается мгновенно. Я пытался использовать кросс-аппликации, но те же результаты. См. План выполнения ниже, показывающий стоимость запроса при сканировании таблицы большой таблицы:
Заранее спасибо! Сол