Загальні відомості
Деякі плани виконання запитів у Microsoft SQL Server 2016 містять схему оцінювання фільтра в операціях для сканування або змінення індексу. Деякі частини предиката фільтрів можуть збігатися з ключем індексу та, отже, можна використовувати для виконання індексного пошуку або діапазону. Решта частин предиката називаються залишковими і повинні бути оцінені для кожного випуску рядків за допомогою операції сканування або діапазону. Це відповідає оператору фільтра. Однак, щоб підвищити продуктивність, SQL Server може підштовхнути такий фільтр до самого оператора доступу до таблиці. Хоча цей підхід покращує продуктивність загалом, у певних умовах (наприклад, для неточної оцінки ефективності, пов'язаної з чутливістю параметрів), фільтр, що знаходиться нижче, може обробляти більшу кількість рядків, ніж очікувалося. Ця поведінка може бути прихована під час виправлення неполадок під час виконання запиту, якщо використовується фактичний план виконання, оскільки кількість рядків, які повертаються, відповідає кількості рядків після застосування залишкового предиката, а не до фактичної кількості рядків, які відскановані з таблиці або індексу.
Відомості про оновлення
Щоб покращити діагностику для сценарію, описаного в розділі "ознаки", SQL Server 2016 Service Pack 1 (SP1) вводить новий XML-атрибут showplan, оцінені рядки, які читаються. Цей атрибут містить орієнтовний підрахунок рядків, які будуть читатися оператором, перш ніж застосовується залишковий предикат. Це оновлення є доповненням до KB 3107397. Ця функція входить до складу пакета оновлень 1 для SQL Server 2016.
У кожному новому збірці для SQL Server 2016 містяться всі виправлення та всі виправлення системи безпеки, які були включені до попередньої збірки. Радимо інсталювати найновішу версію для SQL Server 2016.
Посилання
Відомості про термінологію , яку корпорація Майкрософт використовує для опису оновлень програмного забезпечення.