Больше, чем IN
или Table Variable
, я думаю, что правильное использование индекса увеличит производительность вашего запроса.
Кроме того, из названия таблицы не похоже, что в ней будет много записей, поэтому в данном конкретном примере путь, по которому вы идете, может быть спорным.
Во-вторых, IN
будет оцениваться только один раз, так как нет подзапроса. В вашем случае переменная @IDList, вероятно, вызовет несоответствия, которые вам понадобятся @IDList1, @IDList2, @IdList3....
, потому что IN
требует список.
Как общее практическое правило, вы должны избегать IN
с подзапросами и использовать EXISTS
с объединением - вы будете чаще получать лучшую производительность, чем нет.