SQL Server执行计划的理解
详细看:http://www.cnblogs.com/kissdodog/p/3160560.html
自己总结:
扫描Scan:逐行遍历数据。
查找Seek:根据查询条件,定位到索引的局部位置,然后再开始查找
聚集索引表:含有聚集索引(clustered index)
堆表:不含聚集索引的表。
注意:仅含有非聚集索引(Nonclustered index),而没有聚集索引(clustered index)的表是堆表
数据访问操作会有以下情况:
1、表扫描Table Scan;(无索引的表为堆表select * from students)
2、聚集索引扫描 Clustered Index Scan;(在堆表上建立聚集索引,即为聚集索引表。但聚集索引字段不为 谓词(where条件) 时,引起该扫描(聚集表的数据存在于聚集索引的叶级节点。因此,聚集扫描与表扫描其实差别不大) select * from students where Name='Jerry' (Clustered_Index_ID))
3、聚集索引查找Clustered Index Seek;(聚集索表,且谓词(where条件)为聚集索引字段,查找指定范围 select * from students where ID=5 (Clustered_Index_ID))
4、索引扫描NonClustered Index Scan;(非聚集索引能够覆盖所需的数据 select Name from students (NonClustered_Index_Name))
5、书签查找;(先通过谓词进行索引查找,在根据键查找或对查找获取select的其他字段数据 select * from students where name='jerry' 先进行NonClustered_Index_Name查找来定位,再Clustered_Index_ID键查找来获取select字段值)
SQL Server执行计划的理解的更多相关文章
- SQL Server执行计划的理解【转】
要理解执行计划,怎么也得先理解,那各种各样的名词吧.鉴于自己还不是很了解.本文打算作为只写懂的,不懂的懂了才写. 在开头要先说明,第一次看执行计划要注意,SQL Server的执行计划是从右向左看 ...
- SQL Server 执行计划的理解
要理解执行计划,怎么也得先理解,那各种各样的名词吧.鉴于自己还不是很了解.本文打算作为只写懂的,不懂的懂了才写. 在开头要先说明,第一次看执行计划要注意,SQL Server的执行计划是从右向左看的. ...
- sql server 执行计划(execution plan)介绍
大纲:目的介绍sql server 中执行计划的大致使用,当遇到查询性能瓶颈时,可以发挥用处,而且带有比较详细的学习文档和计划,阅读者可以按照我计划进行,从而达到对执行计划一个比较系统的学习. 什么是 ...
- SQL Server执行计划那些事儿(2)——查找和扫描
接下来的文章是记录自己曾经的盲点,同时也透漏了自己的发展历程(可能发展也算不上,只能说是瞎混).当然,一些盲点也在工作和探究过程中慢慢有些眉目,现在也愿意发扬博客园的奉献精神,拿出来和大家分享一下. ...
- 引用:初探Sql Server 执行计划及Sql查询优化
原文:引用:初探Sql Server 执行计划及Sql查询优化 初探Sql Server 执行计划及Sql查询优化 收藏 MSSQL优化之————探索MSSQL执行计划 作者:no_mIss 最近总想 ...
- SQL Server 执行计划缓存
标签:SQL SERVER/MSSQL SERVER/数据库/DBA/内存池/缓冲区 概述 了解执行计划对数据库性能分析很重要,其中涉及到了语句性能分析与存储,这也是写这篇文章的目的,在了解执行计划之 ...
- SQL Server 执行计划中的扫描方式举例说明
SQL Server 执行计划中的扫描方式举例说明 原文地址:http://www.cnblogs.com/zihunqingxin/p/3201155.html 1.执行计划使用方式 选中需要执行的 ...
- SQL Server执行计划那些事儿(3)——书签查找
接下来的文章是记录自己曾经的盲点,同时也透漏了自己的发展历程(可能发展也算不上,只能说是瞎混).当然,一些盲点也在工作和探究过程中慢慢有些眉目,现在也愿意发扬博客园的奉献精神,拿出来和大家分享一下. ...
- SQL Server 执行计划操作符详解(3)——计算标量(Compute Scalar)
接上文:SQL Server 执行计划操作符详解(2)--串联(Concatenation ) 前言: 前面两篇文章介绍了关于串联(Concatenation)和断言(Assert)操作符,本文介绍第 ...
随机推荐
- Linux:删除程序
首先查看程序是否安装,以mariadb 为例 卸载程序 .........
- Spark之SQL解析(源码阅读十)
如何能更好的运用与监控sparkSQL?或许我们改更深层次的了解它深层次的原理是什么.之前总结的已经写了传统数据库与Spark的sql解析之间的差别.那么我们下来直切主题~ 如今的Spark已经支持多 ...
- OAF_开发系列29_实现OAF中批次处理迭代器RowSet/RowSetIterator(案例)
20150814 Created By BaoXinjian
- 在UIView上添加tableView设置代理属性
- 设置maven默认的JDK版本
在pom文件中添加如下 : <build> <plugins> <plugin> <groupId>org.apache.maven.plugins&l ...
- js 循环
//数组循环var a = [1, 2, 3, 4, 5, 6];for (var i = 0, l = a.length; i < l; i++) { console.log(a[i]);} ...
- SpringMVC工作环境搭建 配置文件
web.xml配置 在服务器端容器启动之前加载配置文件的顺序:context-param>listener>filter>servlet //容器配置application上下文的时 ...
- CRLF和LF
协作项目,开发环境不同(mac,window)构建过程中,命令行报错(expecting LF but only find CRLF) 打开git bash,输入 $ git config --glo ...
- java.io.file
package cn.edu.tongji.cims.wade.system; import java.io.*; public class FileOperate { pub ...
- Spring 之注解事务 @Transactional
众所周知的ACID属性: 原子性(atomicity).一致性(consistency).隔离性(isolation)以及持久性(durability).我们无法控制一致性.原子性以及持久性,但可以 ...