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

Откуда: Moscow
Сообщений: 2470
Блог
Вышел новый CTP 2.1 SQL Server 2019.
Одна из самых интересных новых возможностей - Inline Scalar UDFs (наконец-то, дождались) - стала доступна публично.

Теперь сервер умеет встраивать тело функции в основной запрос и оптимизировать запрос целиком, это позволяет:
- избавиться он накладных расходов по вызову функции при переключении контекста
- больше не "черный ящик" для оптимизатора
- запросы могут быть параллельными (ранее скалярные функции исключали параллелизм в запросе)

Функционал становится доступным при переключении БД в режим 150 (2019) по-умолчанию

Если вдруг стало работать медленнее, то отключить, не меняя уровень совместимости, можно:

1) На уровне БД, при помощи настройки
ALTER DATABASE SCOPED CONFIGURATION SET TSQL_SCALAR_UDF_INLINING = OFF;

2) На уровне запроса, хинтом
OPTION (USE HINT('DISABLE_TSQL_SCALAR_UDF_INLINING'))

3) Для конкретной функции:
CREATE OR ALTER FUNCTION ...
RETURNS ...
WITH INLINE = OFF


Инлайнятся не только какие-то простые функции, которые не делают обращений к данным, но, например, и такое:
+
alter database AdventureWorks2016CTP3 set compatibility_level = 150;
go
use AdventureWorks2016CTP3;
go
create or alter function dbo.f(@BusinessEntityID int, @PersonType nchar(2))
returns datetime
as 
begin
	declare @r datetime;
	
	if @PersonType = 'EM' 
		set @r = (select ModifiedDate from HumanResources.Employee where BusinessEntityID = @BusinessEntityID);
	else if @PersonType = 'SP' 
		set @r = (select ModifiedDate from Sales.SalesPerson where BusinessEntityID = @BusinessEntityID);
	else
		set @r = null;

	return @r;
end;
go
set statistics xml on;

select dbo.f(BusinessEntityID, PersonType) from Person.Person  where LastName = 'Adams'  
option (use hint('DISABLE_TSQL_SCALAR_UDF_INLINING'));

select dbo.f(BusinessEntityID, PersonType) from Person.Person  where LastName = 'Adams';

set statistics xml off;

План при этом получается забавный, но видно, что сервер встроил тело функции в запрос:
+
Картинка с другого сайта.


Подробнее можно почитать в документации.

Скачать новую версию тут: SQL Server 2019 CTP 2.1
7 ноя 18, 14:37    [21726862]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2019  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6025
Писатели скалярок вылезают из под стола :)
7 ноя 18, 14:54    [21726908]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2019  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 27934
SomewhereSomehow
Одна из самых интересных новых возможностей - Inline Scalar UDFs (наконец-то, дождались) - стала доступна публично.
Ну наконец то :-)
7 ноя 18, 16:19    [21727068]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2019  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 27934
SomewhereSomehow
Вышел новый CTP 2.1 SQL Server 2019.
...
Скачать новую версию тут: SQL Server 2019 CTP 2.1
Странно, а почему в загрузках для подписчиков Visual Studio нет?
Там последняя - SQL Server vNext CTP2.0
Версии CTP 2.1 нет, да и название старое, "vNext", а не "2019"...
7 ноя 18, 17:20    [21727168]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2019  [new]
SomewhereSomehow
Member

Откуда: Moscow
Сообщений: 2470
Блог
Этого не знаю, я по публичной ссылке качал.
Единственное, он перенаправил меня сначала на русскоязычный сайт, там не нашел, а на англоязычном все есть. Скачиваешь установщик, он выкачивает образ ISO.

print @@version

	Microsoft SQL Server 2019 (CTP2.1) - 15.0.1100.94 (X64) 
	Nov  1 2018 14:35:49 
	Copyright (C) 2018 Microsoft Corporation
	Developer Edition (64-bit) on Windows 10 Pro 10.0 <X64> (Build 17134: )
7 ноя 18, 17:41    [21727185]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2019  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 27934
SomewhereSomehow
Единственное, он перенаправил меня сначала на русскоязычный сайт, там не нашел, а на англоязычном все есть. Скачиваешь установщик, он выкачивает образ ISO.
Понятно...
Что то он у меня написал "Getting things ready...", и больше ничего не делает, к инету не обращается, к файлам тоже... Подожду...
7 ноя 18, 17:48    [21727193]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2019  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 27934
alexeyvg
SomewhereSomehow
Единственное, он перенаправил меня сначала на русскоязычный сайт, там не нашел, а на англоязычном все есть. Скачиваешь установщик, он выкачивает образ ISO.
Понятно...
Что то он у меня написал "Getting things ready...", и больше ничего не делает, к инету не обращается, к файлам тоже... Подожду...
Да, не работает инсталлятор, зависает через 2 секунды, судя по логу :-(
То есть не инсталлятор, а загрузчик инсталлятора.
Буду ждать релиза, или на торрентах поищу.

Что за мода, вместо ссылки на FTP карябать мышкой на коленке очередной "чудо-скачиватель файла", который нужно потом год доводить, что бы он работал у всех, или хотя бы писал про ошибку...
7 ноя 18, 18:23    [21727221]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2019  [new]
ЕвгенийGEM
Member

Откуда:
Сообщений: 79
обычно после выпуска следующей версии, в прод может пойти предыдущая. Т е после выхода 2017 версии скуля, готовят переход на 2017 версию. И то-это самый оптимистичный план. А по факту только через 5 лет после выпуска версии скуля его в прод понесут. Так было до 2017 года, а с 2017 года-через 3 года (тем внедрения ускорился почти в двое). Т е сейчас много у кого стоит 2014 скуль, да попадается 2016, но значительно реже (в основном еще думают или делают переход на 2016 скуль), единицы кто на 2017 перешел или планирует перейти. Однако, также много кто сидит на 2012 или если требуется поддержка 2012 скуля в синтаксисе и в возможностях. Так что сложно сказать когда новая фича попадет на прод. В среднем сейчас через 3 года. Однако, эти 3 года могут легко превратиться и в 5 лет. А вот больше 5 лет чревато стать замшелым продуктом. До 2017 года чтобы продукт стал замшелым надо было более 10 лет не обновлять СУБД, а сейчас достаточно и 5 лет. Что будет дальше-скорее всего СУБД станет как сервис рано или поздно и просто будут патчи выпускаться как онлайн, так и в виде автономных установочных пакетов для сред изолированных от интернета.
4 мар 19, 22:10    [21824864]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2019  [new]
SQL2008
Member

Откуда:
Сообщений: 3703
Ролг Хупин
Посетитель
пропущено...


это не мешает некоторый системам жить, в том числе, на 2000 сервере


Согласен, я бы не удивился, встретив системы на 7

Я начинал работать с SQL 7 :)
5 мар 19, 09:24    [21825054]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2019  [new]
vikkiv
Member

Откуда: London
Сообщений: 1859
полторы недели назад вышел SQL Server 2019 CTP 2.3
11 мар 19, 22:49    [21829830]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
Все форумы / Microsoft SQL Server Ответить