Симптоми
Когато задавате заявка за изглед в Microsoft SQL Server 2014 или 2016, може да е необходимо повече време, за да се изпълни, ако го сравните с изпълнението в SQL Server 2008 R2.
Когато изпълните заявка, която използва всички редове на UNION и ред (като например клаузата TOP N, FAST N или предикат), може да забележите, че заявката се изпълнява по-бавно в SQL Server 2014 или по-нови версии, ако я сравнявате с SQL Server 2008 R2.
Причина
В SQL Server 2008 R2, оптимизатора на заявки променя реда на различните части под обединение ALL, ако е налице цел на ред, така че най-евтините части да отиват на първо място. Това позволява на заявката да завърши изпълнението по-рано, ако по-евтините части произведат необходимия брой редове, без да се налага да се изпълняват по-скъпи части. Тази пренареждане не възниква в по-нови версии на SQL Server.
Решение
Този проблем е коригиран в следната сборна актуализация за SQL Server:
Кумулативна актуализация 7 за SQL Server 2016 RTM
Кумулативна актуализация 4 за SQL Server 2016 SP1
Кумулативна актуализация 6 за SQL Server 2014 SP2
Забележка За този проблем трябва да бъде разрешен оптимизирането на заявки.
За повече информация относно оптимизатора на заявки и флаговете за проследяване вижте следните връзки:
Оптимизатора на заявки за SQL Server 4199 TF модел на обслужване
Всяка нова сборна актуализация за SQL Server съдържа всички поправки и всички корекции на защитата, които са били включени в предишната сборна актуализация. Вижте последните сборни актуализации за SQL Server:
Състоянието
Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са посочени в секцията "важи за".
Препратки
Научете повече за терминологията, която Microsoft използва, за да опише софтуерни актуализации.