分类

安卓应用安卓游戏

数据库类

SQL Server 2019 CTP2

SQL Server 2019 CTP2 2.1 中文版

大小:4.5 GB

语言:简体中文系统:WinXP, Win2008, Win7, Win8

类别:数据库类时间:2018-11-26 17:20

数据库管理系统
  • SQL Server 2019 CTP2

Tags:数据库软件

SQL Server 2019的第一个公共CTP版已经发布,充满了增强和新特性(其中很多也可以在预览形式Azure SQL Database里找到),七达网小编这里欢迎各位有需要的赶快下载体验吧!

SQL Server 2019性能

表变量延迟编译(Table variable deferred compilation)

表变量名声有点不好,大多因为预估。默认,SQL Server预计只有一行会出现在表变量中,当实际有多行时会导致某些有趣的计划选择。避免这种情况的典型变通方案是使用OPTION (RECOMPILE),但这需要修改代码,当行数通常相同时单次重编译很浪费时间。引入了跟踪标志2453来模拟重编译行为,但是需要运行在一个跟踪标志下,只有当发现又很明显行数变化时才会发生。

在兼容级别150,当表变量调用时你可以延迟编译,意思是,直到表变量被填充一次才会构建一个计划。预估将基于表变量的第一次使用,再次之后将没有重编译发生。这是一个在一直重编译以获得实际每次预估,和从不重编译一直预估为1之间的折中。 如果你的行数保持相对稳定就很好,并且这个数远远大于1就更好,但如果这个数大幅波动就没什么用。

在最近发表的博文中,我深入研究了该功能,SQL Server中的表变量延迟编译,Brent Ozar在更快的表变量和新的参数嗅探问题也谈到了它。

行模式内存授予反馈(Row mode memory grant feedback)

SQL Server 2017引入了批模式内存授予反馈,在这里有详细描述。本质上,对于任何与执行计划有关的内存授予牵涉到批模式操作者,SQL Server会预估查询的内存使用,并将它与请求内存相比较。如果请求的内存太低或太高,导致溢出或浪费内存,它会在下次运行的时候调整与执行计划相关的内存授予。这要么会减少授予以允许更高并发量,要么增加授予以提高性能。

现在在兼容级别150下,对于行模式查询我们也获得了该行为。如果一个查询被发现需要访问磁盘,对于后续的执行将会增加内存授予。如果查询的实际内存使用少于内存授予的一半,后续授予请求将会更低。Brent Ozar在这篇文章适当的内存授予中讲得更细。

基于行存储的批模式(Batch mode over rowstore)

自从SQL Server 2012,对带有列存储索引的表查询在批模式的性能增强中收益。性能提升是由于相对一行行执行,查询处理器执行批处理。数据行可以在存储引擎上面以批的形式存储,可以避免并行交换算子。Paul White(Twitter账号@SQL_Kiwi)提醒我如果你使用一个空的列存储表可以执行批模式操作,存储的行由不可见的操作符聚集成批。然而,这个黑 客行为会取消从批模式处理获得的任何提升。在Stack Exchange的回答中有些信息。

∨ 展开

同类推荐

相关下载

猜你喜欢

相关文章

热门推荐

下载排行

网友评论

我要跟帖
取消
查看所有评论 共 0