Новите инструменти носят нови възможности и понякога те са вкоренени дълбоко в продукта, така че лесно можем да ги пропуснем. И SQL Server 2016 не е по-различен. След като инсталирах CTP, бях приятно изненадан да видя това допълнение, за да помогне на нашите DBA, които извършват дейности за настройка на производителността и настройване на заявки.
И така, за какво говоря? Помислете за сценарий, при който правите някакъв вид тестване във вашата QA среда. Изглежда, че отстранявате неизправности в производствен сценарий и сте установили, че този сценарий работи много добре във вашата тестова среда. Въпреки че сте пренесли данните от производствената база данни на тестов QA сървър преди по-малко от месец, все още сте озадачени от въпроса – защо тази разлика?
Следващото изискване, което всички разглеждат, е да започнете да сравнявате плановете за изпълнение между вашата производствена и тестова среда за една и съща заявка. Някои от плановете за изпълнение на производствен сървър понякога могат да работят на страници и е трудно да се открие разликата визуално.
SQL Server 2016 – Сравнение на планове
Ако имате плана за изпълнение от вашата производствена среда, продължете напред и го отворете в SQL Server 2016 Management Studio и щракнете с десния бутон, за да получите следната опция:
Виждате, че това е интересно допълнение. Трябва да се избере „Сравни шоуплан“. Сега изберете плана, който е генериран от вашата тестова среда. Това ще направи и двата плана за изпълнение в изглед един до друг, както е показано по-долу. Вижте лилавия цвят на възлите.
Това представлява факта, че и двата възела са еднакви, но имат някои разлики в някои свойства. Сега от нас зависи да щракнем с десния бутон и да отворим раздела със свойства.
Тук можем да продължим и да сравним всяко от свойствата на възела, за да открием къде е дискриминацията между плановете. Това са страхотни възможности, добавени в новата версия.
Сигурен съм, че ще намерите тази функция от голяма полза в упражненията за настройка на заявки във вашите среди. След като казах това, едно нещо, което видях интересно е, ако вземете на живо „Реален план за изпълнение“ и след това се опитате да го сравните със запазен .sqlplan файл – ще излезе с грешка, както е показано по-долу:
Уведомете ли ме дали бихте използвали тази функция и дали сте използвали тази функция – какви са някои от подобренията, които желаете да има този оператор за сравнение? Бих искал да се науча от теб със сигурност.