SQL Server 运行计划操作符具体解释(2)——串联(Concatenation )
本文接上文:SQL Server 运行计划操作符具体解释(1)——断言(Assert)
前言:
简单介绍:
其图标为:
。它扫描多个输入并返回每一个扫描的行。
通经常使用于实现T-SQL中的UNION ALL。它能够有多个输入,但仅仅有一个输出,就如多个集合UNION ALL一样,终于返回一个结果集,注意这里一直使用“集合/集”,关系数据库是基于集合论的。所以使用关系数据库时要以集合的思维去考虑问题。
前面说了,串联操作符是当中一种能够接受多个输入的操作符,这些输入会在Init()方法中处理。
环境搭建:
USE tempdb
GO IF OBJECT_ID('TEST', 'U') IS NOT NULL
DROP TABLE TEST
GO CREATE TABLE Test (
ID INT Identity(1, 1) PRIMARY KEY
,Nome VARCHAR(250) DEFAULT NewID()
)
GO SET NOCOUNT ON
GO INSERT INTO Test DEFAULT
VALUES
GO 10000
串联演示:
SELECT * FROM TEST
UNION ALL
SELECT * FROM TEST
UNION ALL
SELECT * FROM TEST
UNION ALL
SELECT * FROM TEST
运行计划例如以下:
SET SHOWPLAN_TEXT ON
GO
SELECT * FROM TEST
WHERE ID<100
UNION ALL
SELECT * FROM TEST
WHERE ID BETWEEN 101 AND 1000
UNION ALL
SELECT * FROM TEST
WHERE ID BETWEEN 1001 AND 5000
UNION ALL
SELECT * FROM TEST
WHERE ID >5001
然后看看输出:
关于这个话题能够看看SQL Server技术内幕主要作者Kalen Delaney的博客:Ordered Seeks and Scans。
总结:
SQL Server 运行计划操作符具体解释(2)——串联(Concatenation )的更多相关文章
- SQL Server 运行计划操作符具体解释(3)——计算标量(Compute Scalar)
接上文:SQL Server 运行计划操作符详细解释(2)--串联(Concatenation ) 前言: 前面两篇文章介绍了关于串联(Concatenation)和断言(Assert)操作符,本文介 ...
- SQL Server 运行计划操作符具体解释(1)——断言(Assert)
前言: 非常多非常多地方对于语句的优化,一般比較靠谱的回复即使--把运行计划发出来看看.当然那些仅仅看语句就说怎样怎样改代码,我一直都是拒绝的,由于这样的算是纯蒙.依据本人经验,大量的性能问题单纯从语 ...
- SQL Server 执行计划操作符详解(3)——计算标量(Compute Scalar)
接上文:SQL Server 执行计划操作符详解(2)--串联(Concatenation ) 前言: 前面两篇文章介绍了关于串联(Concatenation)和断言(Assert)操作符,本文介绍第 ...
- SQL Server 执行计划操作符详解(2)——串联(Concatenation )
本文接上文:SQL Server 执行计划操作符详解(1)--断言(Assert) 前言: 根据计划,本文开始讲述另外一个操作符串联(Concatenation),读者可以根据这个词(中英文均可)先幻 ...
- SQL Server 执行计划操作符详解(1)——断言(Assert)
前言: 很多很多地方对于语句的优化,一般比较靠谱的回复即使--把执行计划发出来看看.当然那些只看语句就说如何如何改代码,我一直都是拒绝的,因为这种算是纯蒙.根据本人经验,大量的性能问题单纯从语句来看很 ...
- SQL Server 执行计划缓存
标签:SQL SERVER/MSSQL SERVER/数据库/DBA/内存池/缓冲区 概述 了解执行计划对数据库性能分析很重要,其中涉及到了语句性能分析与存储,这也是写这篇文章的目的,在了解执行计划之 ...
- 微软官方提供的用于监控MS SQL Server运行状况的工具及SQL语句
Microsoft SQL Server 2005 提供了一些工具来监控数据库.方法之一是动态管理视图.动态管理视图 (DMV) 和动态管理函数 (DMF) 返回的服务器状态信息可用于监控服务器实例的 ...
- Chapter 1 Securing Your Server and Network(1):选择SQL Server运行账号
原文:Chapter 1 Securing Your Server and Network(1):选择SQL Server运行账号 原文出处:http://blog.csdn.net/dba_huan ...
- 引用:初探Sql Server 执行计划及Sql查询优化
原文:引用:初探Sql Server 执行计划及Sql查询优化 初探Sql Server 执行计划及Sql查询优化 收藏 MSSQL优化之————探索MSSQL执行计划 作者:no_mIss 最近总想 ...
随机推荐
- Highways(prim)
http://poj.org/problem?id=2485 此题是求最小生成树里的最大权值.prim算法: #include<stdio.h> #include<string.h& ...
- 安装Windows包管理工具Chocolatey
1.开始菜单里面用PS的管理员模式打开,执行一下命令. Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object Syste ...
- [BZOJ2017][Usaco2009 Nov]硬币游戏(要复习系列)
又是DP? 好吧,或者说是博弈论,但是我不会啊. 先搞个O(n^3)的记忆化搜索,然后瞎搞好像发现两个状态几乎一样? 竟然过了样例,然后竟然A了... #include<iostream> ...
- ROS-URDF-物理属性
前言:介绍向连杆添加碰撞和惯性属性,以及向关节添加动力学. 参考自:http://wiki.ros.org/urdf/Tutorials/Adding%20Physical%20and%20Colli ...
- A - Petya and Strings
Problem description Little Petya loves presents. His mum bought him two strings of the same size for ...
- 《java数据结构与算法》系列之“快速排序"
部门没人了,公司动作好快...算了,不想了!还是学知识吧,只有它不会让自己失望. 继续我的算法学习,快速排序是应用很广的算法,看了一早上才看懂些,感觉比冒泡之类的难理解,可能主要是递归那块自己不是很理 ...
- PHP 数组基础知识
php 数组基础知识function abc($a,$b,$c = 0){ echo $a,$b,$c;}abc(1,3); //调用方法 ////可变参数function def(){ $arr = ...
- IIS日志分析:SC-Status语义
在网站属性-网站-日志(属性) 中进行设定该站点IIS日志常规属性和扩展属性,扩展属性设置IIS日志包含字段显示. HTTP协议状态(sc-status)码的含义 IIS中 100 Continue ...
- 蛮好用的局域网测试工具iperf
公司局域网总是莫名其妙的和一台机器网速很慢,虽然无法解决也无人解决,但是能有个有效的测试至少也会心里有数. 咱干不了网络硬件布线的活,就测测网速吧. 网上找了下,开始有文章介绍NetIQ Chario ...
- 微服务常见安全认证方案Session token cookie跨域
HTTP 基本认证 HTTP Basic Authentication(HTTP 基本认证)是 HTTP 1.0 提出的一种认证机制,这个想必大家都很熟悉了,我不再赘述.HTTP 基本认证的过程如下: ...