首页 > 数据库 >【SQLServer】SSMS 18.0中执行计划的加强

【SQLServer】SSMS 18.0中执行计划的加强

时间:2022-10-08 16:25:33浏览次数:142  
标签:SQLServer SSMS Server 运算符 SQL 18.0

1.【SQLServer】SQLServer执行计划概览

2.【SQLServer】SQLServer执行计划的类型

3.【SQLServer】如何分析图形化的SQL执行计划

4.【SQLServer】SQLServer执行计划运算符-第1部分

5.【SQLServer】SQLServer执行计划运算符-第2部分

6.【SQLServer】SQLServer执行计划运算符-第3部分

7.【SQLServer】SQLServer执行计划运算符-第4部分

 

 

微软从SQL Server 2017开始通过将SSMS版本号与SQL Server分开,为SSMS启动新的版本控制机制。

例如,SQL Server 2017的版本号以14.0开头,SQL Server 2019的版本号以15.0开头。另一方面,SQL Server 2017 SSMS 的版本号从17.X 开始,SQL Server 2018 SSMS的版本号从18.X 开始。

此外,从SQL Server 2016开始,在SQL Server Engine安装包下找不到SSMS安装包。要下载最新版本的SSMS,即SSMS 18.0预览版或之前的版本,需要从Microsoft下载页面直接。SSMS 18.0安装包更小 (~400 MB),不到SSMS 17.x安装包的一半。

下载后,可以轻松地将其安装到机器上。这个新版本的SSMS,你可以在使用命令行设置进行安装,将其安装在自定义文件夹中。你需要提供SSMS-Setup-ENU.exe的自定义路径,SSMSInstallRoot = 'Custom Location'命令。还可以使用SSMS安装向导安装,方法是运行安装包并单击安装按钮开始安装过程,如果当前机器不需要重新启动,安装过程将自动完成。

新SSMS 18.0不会升级或替换现有的SSMS版本,它将与现有的SSMS版本并排安装,两者都可以使用,如下所示:

 

分配给SSMS 18.0(预览版)的内部版本号等于15.0.18040.0,单击"帮助"菜单并选择"关于"选项时,这一点很清楚,如下面的快照所示:

SSMS 18.0支持SQL Server 2008版本及更高版本中几乎所有可用的功能,包括SQL Server 2019预览版,以及云架构中的Azure SQL数据库、Azure SQL托管实例和Azure SQL数据仓库。一个例外是,尝试使用SSMS 17.X或18.0(预览版)连接到旧版SQL Server集成服务时,要求你使用与SQL Server集成服务版本一致的SSMS版本。

SSMS 18.0支持不同的Windows Server 64 位平台,从Windows Server 2008 R2及更高版本。

在SSMS 18.0中,Microsoft修复了以前SSMS版本中的许多bugs,包括XEvents、备份、还原、附加和分离选项等。此外,SSMS 18.0改进了许多现有功能,包括将存储帐户密钥身份验证模式更改为Azure AD模式、引入AUTOGROW_ALL_FILES 文件组选项、在Always On仪表板中重新散列估计恢复时间和估计数据丢失、扩展SMO支持用于可恢复索引创建、脚本性能改进和SQL执行计划改进。Microsoft宣布在SSMS 18.0中,数据库图和T-SQL调试器功能已被弃用。

在本文中,我们将重点介绍SSMS 18.0(预览版)中SQL执行计划的改进。

 

额外计划运算符节点信息
SSMS 18.0中执行查询后生成真正的执行计划时,会看到添加了有关每个节点运算符的额外信息。此信息包括具有准确百分比值的实际已用时间和实际与估计行,如果可用,可以在每个计划运算符节点下显示。

使用SSMS 17.7版本运行查询时,这一点会很清楚,包括该查询的实际SQL执行计划。从生成的执行计划中可以看出,只会呈现每个运算符与整体查询权重相关的成本,如下图:

另一方面,如果使用SSMS 18.0(预览版 4)版本(包括该查询的实际SQL执行计划)运行查询,将看到每个运算符下列出的额外信息,包括实际经过的时间(以秒为单位)、 实际行数、估计行数和估计到实际行数的准确率百分比,如下所示:

 

此额外信息使实际计划看起来与Live Query Stats计划一致。此外,它使Actual SQL Execution Plans更具可读性,尤其是在处理大的执行计划时。换句话说,此信息将通过直接向用户查看最重要和最有用的信息,从而节省浏览和分析每个计划运算符提示的时间。

查询文本截断注释
在SSMS 18.0中,当移动鼠标指针或单击SQL执行计划的编辑查询按钮时,执行计划的上部添加了一条新注释,提交的查询的文本可能会被截断。此注释有助于通知用户,如果查询文本超过4000个字符,它将被SQL引擎截断。我之前在编辑长查询时发生这种情况,但这次SSMS会提前通知我们此截断,如下所示:

 

执行计划的其他改进
··在SSMS 18.0中,添加了一个新的逻辑来显示"Materializer Operator(External Select)"。在执行上层节点之前,将下层计划的输出物化到内存中时,会显示一个物化节点,因为上层节点的源需要重新扫描。
··在SSMS 18.0中,添加了一个名为"BatchModeOnRowStoreUsed"的新属性,以便轻松识别使用"batch-mode scan on rowstores"功能的查询。只需将数据库切换到 SQL Server 2019 的最新兼容级别(即 150)即可启用"batch-mode scan on rowstores"功能。每当对查询中的行存储执行批处理模式扫描时,一个新属性 (BatchModeOnRowStoreUsed="true ") 将被添加到StmtSimple元素中。

 

 

本文地址:https://www.cnblogs.com/abclife/p/16704425.html

标签:SQLServer,SSMS,Server,运算符,SQL,18.0
From: https://www.cnblogs.com/abclife/p/16704425.html

相关文章

  • 【SQLServer】使用SQL执行计划进行性能调优
    1.【SQLServer】SQLServer执行计划概览2.【SQLServer】SQLServer执行计划的类型3.【SQLServer】如何分析图形化的SQL执行计划4.【SQLServer】SQLServer执行计划运算符-......
  • 数据库结构差异比较-SqlServer
    /******Object:StoredProcedure[dbo].[p_comparestructure_2005]ScriptDate:2022/10/810:00:20******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOALTER......
  • sqlserver学习
    一、什么是关系型和非关系型数据库,两者都包含那种数据库1、关系型数据库关系型数据库是指采用了关系模型来组织数据的数据库。简单来说,关系模式就是二维表格模型。常见......
  • Ubuntu18.04系统下最新版GPU环境配置详细教程
    摘要:本文详细介绍了在Ubuntu18.04下如何配置深度学习GPU(显卡)环境,包括了显卡驱动下载安装,环境配置等。按照本教程的步骤在多台服务器上安装都取得了成功,是在多种方法的......
  • SQLServer第十章:触发器 trigger
    触发器:一种特殊的存储过程,特殊在它不能手动进行调用,只能通过操作自动去触发完成一些复杂的约束(是普通约束做不到的)操作类型分类: insert触发器:由insert插入......
  • SSMS检索Appointment数据
    Appointment表是基于activitypointer生成的表,通过SSMS直接连接到dataverse环境时,虽然表一览里不显示Appointment,要想检索Appointment的数据,只需要直接写SQL类似:select*FRO......
  • How to Install Lazarus IDE in Ubuntu 20.04, 18.04, 21.10
    Ubuntu20.04LTShasbeenreleasedrecently,butinstallingLazarustherefromtheofficialreposwon'tgetyouupandrunning.Let'sseehowLazaruscanbe......
  • entity framework core使用sqlServer localDB指定文件路径
    entityframework和entityframeworkcore是不一样的。efcore是以后的版本。微软总是这样变来变去。其实linqtosql挺好的,但.net5以后就不支持了。efcore这玩意还是太......
  • Sqlserver限制账户在哪些ip下才可以访问数据库
    Alwayskeepemptypartitionsatbothendsofthepartitionrange.Keepthepartitionsatbothendstoguaranteethatthepartitionsplitandthepartitionmerge......
  • 【SQLServer】SQLServer执行计划运算符-第3部分
    1.【SQLServer】SQLServer执行计划概览2.【SQLServer】SQLServer执行计划的类型3.【SQLServer】如何分析图形化的SQL执行计划4.【SQLServer】SQLServer执行计划运算符-......