Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 И все-таки SQL Server 2017  [new]
SomewhereSomehow
Member

Откуда: Moscow
Сообщений: 2441
Блог
Вышел CTP 2 версии SQL Server vNext, которая (версия) теперь называется SQL Server 2017.

https://www.microsoft.com/en-us/sql-server/sql-server-2017

К сообщению приложен файл. Размер - 141Kb
19 апр 17, 20:19    [20416431]     Ответить | Цитировать Сообщить модератору
 Re: И все-таки SQL Server 2017  [new]
msLex
Member

Откуда:
Сообщений: 4724
Значит графы и python они осилили а скалярные инлайн функции нет.
19 апр 17, 21:07    [20416524]     Ответить | Цитировать Сообщить модератору
 Re: И все-таки SQL Server 2017  [new]
SomewhereSomehow
Member

Откуда: Moscow
Сообщений: 2441
Блог
Меня, как Query Processor интересанта, радуют вот эти вещи:

QP: Реализация Adaptive Query Processing в полном объеме первой версии:

- Batch Mode Adaptive Memory Grant (Introducing Batch Mode Adaptive Memory Grant Feedback, уже было в CTP 1). Смысл в том, что если грант памяти был выделен не верно (больше или меньше), то при следующем выполнении этого плана грант будет скорректирован. (готовлю статью про сортировку, где эта тема в частности будет упомянута).

- Interleaved Execution. Дословно перемежающееся выполнение. Также было доступно в CTP 1, но с секретным флагом, так что я успел написать про это статью, но попросили придержать ее до официального объявления фичи. Кому интересно, читать тут (на английском правда). Вкратце суть в том, что если в запросе используется mulistatement функция и в нее не передается коррелированных параметров - она может быть выполнена отдельно от основного запроса, а потом кардинальность (к сожалению, без гистограммы) может быть использована чтобы "дооптимизировать" (а на деле рекомпилировать) основной запрос. Подробности описал в посте.

- Adaptive Batch Join. Новый оператор, Adaptive Join.
Картинка с другого сайта.
Этот оператор может менять реальный тип физического соединения в зависимости от порога обработанных строк. Для этого есть отдельные свойства. К сожалению, скрин из видео, размещенного ниже, т.к. последний билд SSMS (17.0 RC3, может уже есть новый, но я не нашел) выдает вот это на попытку посмотреть план с Adaptive Join.
An error occurred while executing batch. Error message is: Error processing execution plan results. The error message is:
В документе XML (1, 4218) присутствует ошибка.
Ошибка проверки экземпляра: "Adaptive Join" не является допустимым значением PhysicalOpType.


Тем не менее в xml можно увидеть следующие новые свойства:

<RelOp NodeId="3" PhysicalOp="Adaptive Join" LogicalOp="Inner Join" EstimatedJoinType="Nested Loops" AdaptiveThresholdRows="1149.35" EstimateRows="1000" EstimateIO="0" EstimateCPU="0.0002" AvgRowSize="15" EstimatedTotalSubtreeCost="3.23749" Parallel="0" IsAdaptive="1" EstimateRebinds="0" EstimateRewinds="0" EstimatedExecutionMode="Row">

Резюме по фишкам QP от MS:
+ SQL Server 2017: Adaptive Query Processing
[youtube=]


QS:
Теперь Query Store собирает статистику по ожиданиям! Это очень здорово, т.к. в некоторых случаях план не может дать полной картины.

Второй момент, это автоматическая коррекция регрессировавшего плана. Намеки на это были уже в 2016 сервере, если интересно, поищите в xEvent-ах события содержащие APRC (Automatic Plan Regression Correction), к сожалению, раньше нельзя было об это говорить, но теперь это доступно публично.
Как работает и все прочее, вот тут: Automatic tuning. Там же новое представление sys.dm_db_tuning_recommendations и другие подробности.

+ П.С.

Есть еще одна фича, касающаяся представлений, киллер фича, но почему-то о ней нигде публично не упомниается, либо я не могу найти - так что пока тут промолчу.

В целом - отличные новости, надо разбираться, лично я уже скачал бесплатную версию и собираюсь запилить несколько статей в английском и руссаком блогах, не забывая, впрочем про старые вопросы.
19 апр 17, 23:39    [20416854]     Ответить | Цитировать Сообщить модератору
 Re: И все-таки SQL Server 2017  [new]
aleksrov
Member

Откуда:
Сообщений: 245
SomewhereSomehow,

Круть! Только я так и не нашел (кроме этого) список всех новых фич :(
Порадовало еще это:
With resumable online index rebuild, you can resume a paused index rebuild operation from where the rebuild operation was paused rather than having to restart the operation at the beginning. Additionally, this feature rebuilds indexes using only a small amount of log space.
20 апр 17, 05:23    [20417008]     Ответить | Цитировать Сообщить модератору
 Re: И все-таки SQL Server 2017  [new]
aleksrov
Member

Откуда:
Сообщений: 245
SomewhereSomehow,

Не знаете где можно прочитать про Adaptive Join? Нашел только упоминания, что он есть, хочется подробнее.
20 апр 17, 07:25    [20417057]     Ответить | Цитировать Сообщить модератору
 Re: И все-таки SQL Server 2017  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 24789
msLex
Значит графы и python они осилили а скалярные инлайн функции нет.
Так же не осилили PIVOT с динамическим списком, RW табличные параметры...
20 апр 17, 08:23    [20417157]     Ответить | Цитировать Сообщить модератору
 Re: И все-таки SQL Server 2017  [new]
SomewhereSomehow
Member

Откуда: Moscow
Сообщений: 2441
Блог
aleksrov
SomewhereSomehow,

Не знаете где можно прочитать про Adaptive Join? Нашел только упоминания, что он есть, хочется подробнее.

Вот появились публикации:
https://blogs.msdn.microsoft.com/sqlserverstorageengine/2017/04/19/introducing-batch-mode-adaptive-joins/
https://blogs.msdn.microsoft.com/sqlserverstorageengine/2017/04/19/introducing-interleaved-execution-for-multi-statement-table-valued-functions/

А так пока больше нет, фича пока слишком новая, даже нет публичной версии SSMS, которая бы корректно отображала планы с Adaptive Join =)
20 апр 17, 10:19    [20417515]     Ответить | Цитировать Сообщить модератору
 Re: И все-таки SQL Server 2017  [new]
SomewhereSomehow
Member

Откуда: Moscow
Сообщений: 2441
Блог
SomewhereSomehow,

Вот еще нашел Оракловую тему:
https://blogs.oracle.com/optimizer/entry/what_s_new_in_12c
по сути совпадает с тем, что мы имеем в SQL Server, за исключением деталей, так что кому интересно, можно читать (кстати, дата публикации 2013 год =)).
20 апр 17, 11:19    [20417850]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить