В SQL Server все равно будет предотвращаться Key Lookup
.
Если вы JOIN
в неиндексированном поле, сервер должен получить значения для этого поля из кластеризованного индекса.
Если вы JOIN
для индекса NC, значения можно получить напрямую, не загружая все страницы данных из кластера (который на самом деле представляет собой всю таблицу).
Таким образом, по сути вы экономите многоIO в качестве первого шага выполняет фильтрацию на основе очень узкого индекса, а не всей таблицы, загруженной с диска.