Я пытаюсь узнать больше об операторе плана запроса «проверка ссылок на внешние ключи», представленном в SQL Server 2016. Там не так много информации об этом. Microsoft объявила об этом здесь, и я написал об этом здесь . Новый оператор можно увидеть, удалив строку из родительской таблицы с 254 или более входящими ссылками внешнего ключа: ссылка dbfiddle .
В подробностях оператора отображаются три разных значения:
- Счетчик ссылок на внешние ключи - это количество входящих внешних ключей.
- Нет соответствующих индексов Количество - это количество входящих внешних ключей без подходящего индекса. Проверка того, что обновленная или удаленная таблица не нарушит это ограничение, потребует сканирования дочерней таблицы.
- Я не знаю, что представляет собой Частичное совпадение индексов .
Что такое индекс частичного соответствия в этом контексте? Я не смог заставить работать одно из следующих действий:
- Отфильтрованные индексы
- Помещение столбца внешнего ключа в качестве
INCLUDE
столбца для индекса - Индексы со столбцом внешнего ключа в качестве второго ключевого столбца
- Индексы одного столбца для внешних ключей нескольких столбцов
- Создание нескольких покрывающих индексов для включения плана «соединения индекса» для внешнего ключа из нескольких столбцов
Дэн Гузман отметил, что внешние ключи нескольких столбцов могут соответствовать индексам, даже если ключи индекса находятся в другом порядке, чем столбцы внешнего ключа. Его код здесь на тот случай, если кто-то сможет использовать его в качестве отправной точки, чтобы узнать больше о частичных индексах соответствия.