Я изучаю, чтобы стать администратором базы данных, делая это, я хочу узнать немного больше о настройке запросов. Большинство из них я могу понять, но я хотел понять, почему эти два запроса имеют один и тот же план выполнения, даже написанный двумя разными способами. Они основаны на базе данных adventureworks2012lt
.Тот же план выполнения?
select productnumber, name, listprice
from saleslt.product
where productnumber like 'bk-[a-q,s-z]%' and productnumber like '%-[0-9][0-9]'
SELECT ProductNumber, Name, ListPrice
FROM SalesLT.Product
WHERE ProductNumber LIKE 'BK-[^R]%-[0-9][0-9]';
Я не могу размещать фотографии еще потому, что моя репутация не высока, но достаточно :(
Они одинаково логичны: (затронуто 54 ряда) Таблица «Продукт». Число сканирования 1, логическое считывание 103, физическое чтение 0, чтение вперед 0, логическое считывание 0, логическое чтение 0, считывание с чтением 0, считывание с чтением 0 ... (затрагивается 1 ряд (строк)) (54 ряда (s)) Таблица «Продукт». Число сканирования 1, логическое считывание 103, физическое считывание 0, чтение вперед 0, логическое считывание 0, логическое чтение 0, чтение с чтением 0, считывание с чтением 0 ... (затронуты 1 строка) –
Я просто скажу , Механизм SQL-сервера более умный, чем вы думаете. –
Два типа поиска по номеру продукта с wild card, и вы удивлены, что он имеет тот же план выполнения? – Paparazzi