Настраивая запрос в SQLServer наткнулся на связку Index Seek (Non-clustered) + Key Lookup для одной таблицы. Открыл Output List и добавил все поля из него в Included в индексе. Но Key Lookup не исчез, просто Output list стал пустым.
Стал разбираться: в одном из условий есть ссылка на поле, не учавствующее в индексе. Поскольку поле не возвращается, в Output List оно не попадает. После добавления поля в индекс, Key Lookup изсчез, всё отлично, но — можно ли как-то найти такое поле не просмотривая запрос, только из данных Execution Plan?
Схожая ситуация в другом запросе, вида "WHERE a.id in (select b.key from table_b b ...)" — поле b.key тоже не отображается в свойствах Execution Plan, и также требуется для избавления от Key Lookup.