首页 / 知识
关于tsql:避免在SQL Server上进行急切假脱机操作的方法
2023-04-16 11:18:00

Ways to avoid eager spool operations on SQL Server
我有一个涉及到存储过程的ETL过程,该过程大量使用 急切的线轴的MSDN文档很少。有没有人对这些是否真的必要(以及在什么情况下)有更深入的了解?我有一些理论可能有意义,也可能没有意义,但无法成功地从查询中消除这些理论。 .sqlplan文件很大(160kb),所以我想直接将它们发布到论坛上可能并不合理。 因此,以下是一些可能适合特定答案的理论:
我对假脱机的理解是,这对您的执行计划有些不利。是的,它占了您大量的查询成本,但是实际上,这是SQL Server自动进行的一项优化,从而可以避免进行昂贵的重新扫描。如果要避免假脱机,那么位于其上的执行树的成本将会上升,几乎可以肯定,整个查询的成本都会增加。我对什么可能导致数据库的查询优化器以这种方式解析执行没有什么特别的了解,尤其是在没有看到SQL代码的情况下,但是您最好还是信任它的行为。
但是,这并不意味着无法优化执行计划,具体取决于您要做什么以及源数据的易变性。在执行
在这种情况下,如果尝试使用 您说对了,您的UDF也可能是罪魁祸首。如果您只使用一次每个UDF,尝试将它们内联以查看您是否获得了较大的性能优势,这将是一个有趣的实验。 (而且,如果您无法找到一种将它们与查询内联地编写的方法,则可能就是它们可能导致假脱机的原因)。 我要看的最后一件事是,如果您要进行任何可以重新排序的联接,请尝试使用提示来强制联接顺序以您所知道的最有选择性的顺序发生。这是可以达到的,但是如果您已经坚持进行优化,那么尝试它也没有什么坏处。 |
最新内容
相关内容
linux操作数据库命令?
linux操作数据库命令?,地址,服务,系统,密码,数据库,工具,名字,首页,命令,参数,如何实现MySQL数据库的基本用法在linux下1、mysql all-databaselinux系命令的操作?
linux系命令的操作?,工作,系统,信息,网络,命令,基础,简介,管理,目录,操作,linux的cd命令的使用方法cd ~:回到用户家目录。注:这得看你是用什么用linux显示操作命令?
linux显示操作命令?,系统,工作,地址,信息,管理,命令,目录,基础,工具,标准,linux常用命令1、linux系统常用操作命令linux系统常用操作命令如下:llinux操作常用命令?
linux操作常用命令?,工作,系统,地址,信息,命令,目录,管理,标准,基础,工具,linux常用命令及用法linux系统常用操作命令如下:ls:全拼list,功能是列linux操作命令重命名?
linux操作命令重命名?,图片,软件,名称,名字,文件,命令,状态,代码,工具,系统,Linux下批量修改文件名1、Linux下修改文件名有mv和rename。 其中mlinux中断命令语句?
linux中断命令语句?,系统,服务,状态,号码,进程,命令,信号,传播,互动,名称,在linux中如何终止指令的运行1、方法在“Terminal”终端输入“gnomelinux目录操作命令d?
linux目录操作命令d?,工作,系统,信息,命令,情况,基础,数据,名称,地址,目录,linux常用的命令有哪些1、linux系统常用操作命令如下:ls:全拼list,功linux初学者操作命令?
linux初学者操作命令?,工作,系统,信息,命令,网络,地址,单位,位置,管理,数据,Linux必学的网络操作命令1、Linux的网络命令比较多,其中一些命令像linux操作命令远程?
linux操作命令远程?,软件,密码,系统,名称,图片,电脑,地址,网站,工具,服务,如何用XShell连接远程Linux服务器xshell连接服务器的步骤如下:需要下linux操作命令实验一?
linux操作命令实验一?,系统,基础,设备,西安,概念,软件,电脑,技术,管理,分析,在LINUX的Ubuntu版本下的一个实验,小弟不才,实在是没学好,求大家linux里的操作命令?
linux里的操作命令?,工作,系统,信息,地址,命令,标准,位置,目录,功能,操作,linux常用命令1、linux系统常用操作命令如下:ls:全拼list,功能是列出目linux分辨率操作命令?
linux分辨率操作命令?,系统,情况,分辨率,底部,状态,命令,屏幕,屏幕分辨率,桌面,显示器,怎么调整linux的屏幕分辨率?1、Linux系统更改屏幕分辨