SQL Server查询性能优化——覆盖索引(二)
在SQL Server 查询性能优化——覆盖索引(一)中讲了覆盖索引的一些理论。

SET STATISTICS IO ON
--没有任何索引情况下的数据页访问数量
SELECT [WBOOK_NO]
,[COP_G_NO]
,[G_NO]
,[CODE_T]
,[QTY_1]
,[UNIT_1]
,[TRADE_TOTAL]
,[GROSS_WT]
FROM [WBK_PDE_LIST_ORG_HISTROY] where qty_1 between 50 and 500


SET STATISTICS IO ON
---通过聚集索引查询访问的数据页数量
create clustered index idx_WBK_PDE_LIST_ORG_HISTROY on [WBK_PDE_LIST_ORG_HISTROY](QTY_1)
SELECT [WBOOK_NO]
,[COP_G_NO]
,[G_NO]
,[CODE_T]
,[QTY_1]
,[UNIT_1]
,[TRADE_TOTAL]
,[GROSS_WT]
FROM [WBK_PDE_LIST_ORG_HISTROY] where qty_1 between 50 and 500
---
drop index [WBK_PDE_LIST_ORG_HISTROY].idx_WBK_PDE_LIST_ORG_HISTROY


SET STATISTICS IO ON
create index idx_WBK_PDE_LIST_ORG_HISTROY on [WBK_PDE_LIST_ORG_HISTROY](WBOOK_NO)
,[COP_G_NO]
,[G_NO]
,[CODE_T]
,[QTY_1]
,[UNIT_1]
,[TRADE_TOTAL]
,[GROSS_WT]
FROM [WBK_PDE_LIST_ORG_HISTROY] with (index(idx_WBK_PDE_LIST_ORG_HISTROY)) where qty_1 between 50 and 500
---
drop index [WBK_PDE_LIST_ORG_HISTROY].idx_WBK_PDE_LIST_ORG_HISTROY

1.非聚集索引的碎片情况:

SET STATISTICS IO ON
create index idx_WBK_PDE_LIST_ORG_HISTROY on [WBK_PDE_LIST_ORG_HISTROY]([WBOOK_NO]
,[COP_G_NO]
,[G_NO]
,[CODE_T]
,[QTY_1]
,[UNIT_1]
,[TRADE_TOTAL]
,[GROSS_WT])
,[COP_G_NO]
,[G_NO]
,[CODE_T]
,[QTY_1]
,[UNIT_1]
,[TRADE_TOTAL]
,[GROSS_WT]
FROM [WBK_PDE_LIST_ORG_HISTROY] where qty_1 between 50 and 500
drop index [WBK_PDE_LIST_ORG_HISTROY].idx_WBK_PDE_LIST_ORG_HISTROY


SET STATISTICS IO ON
create index idx_WBK_PDE_LIST_ORG_HISTROY on [WBK_PDE_LIST_ORG_HISTROY]([QTY_1]
,[COP_G_NO]
,[G_NO]
,[CODE_T]
,[WBOOK_NO]
,[UNIT_1]
,[TRADE_TOTAL]
,[GROSS_WT])
,[COP_G_NO]
,[G_NO]
,[CODE_T]
,[QTY_1]
,[UNIT_1]
,[TRADE_TOTAL]
,[GROSS_WT]
FROM [WBK_PDE_LIST_ORG_HISTROY] where qty_1 between 50 and 500
drop index [WBK_PDE_LIST_ORG_HISTROY].idx_WBK_PDE_LIST_ORG_HISTROY


SET STATISTICS IO ON
create index idx_WBK_PDE_LIST_ORG_HISTROY on [WBK_PDE_LIST_ORG_HISTROY]([WBOOK_NO]) include(qty_1
,[COP_G_NO]
,[G_NO]
,[CODE_T]
,[UNIT_1]
,[TRADE_TOTAL]
,[GROSS_WT])
,[COP_G_NO]
,[G_NO]
,[CODE_T]
,[QTY_1]
,[UNIT_1]
,[TRADE_TOTAL]
,[GROSS_WT]
FROM [WBK_PDE_LIST_ORG_HISTROY] where qty_1 between 50 and 500
drop index [WBK_PDE_LIST_ORG_HISTROY].idx_WBK_PDE_LIST_ORG_HISTROY


SET STATISTICS IO ON
create index idx_WBK_PDE_LIST_ORG_HISTROY on [WBK_PDE_LIST_ORG_HISTROY](qty_1) include([WBOOK_NO]
,[COP_G_NO]
,[G_NO]
,[CODE_T]
,[UNIT_1]
,[TRADE_TOTAL]
,[GROSS_WT])
,[COP_G_NO]
,[G_NO]
,[CODE_T]
,[QTY_1]
,[UNIT_1]
,[TRADE_TOTAL]
,[GROSS_WT]
FROM [WBK_PDE_LIST_ORG_HISTROY] where qty_1 between 50 and 500
drop index [WBK_PDE_LIST_ORG_HISTROY].idx_WBK_PDE_LIST_ORG_HISTROY

|
访问方式分页
|
逻辑读
|
物理读
|
预读
|
估计运算符开销
|
|
全表扫描
|
1568
|
54
|
1568
|
1.06575
|
|
以QTY_1字段建立聚集索引
|
351
|
4
|
345
|
0.275863
|
|
以WBOOK_NO字段建非立聚集索引
|
61065
|
864
|
727
|
14.10295
|
|
以[WBOOK_NO],[COP_G_NO],[G_NO],[CODE_T],[QTY_1],[UNIT_1],[TRADE_TOTAL] ,[GROSS_WT]八个字段建复合索引
|
687
|
9
|
683
|
0.570198
|
|
以[QTY_1],[COP_G_NO],[G_NO],[CODE_T],[WBOOK_NO],[UNIT_1],[TRADE_TOTAL],[GROSS_WT]八个字段建复合索引
|
178
|
5
|
175
|
0.146974
|
|
以WBOOK_NO建立索引,include以下字段 [QTY_1],[COP_G_NO],[G_NO],[CODE_T],[UNIT_1],[TRADE_TOTAL],[GROSS_WT]
|
682
|
1
|
492
|
0.570198
|
|
以[QTY_1]建立索引,include 以下字段[WBOOK_NO],[COP_G_NO],[G_NO],[CODE_T],[UNIT_1],[TRADE_TOTAL],[GROSS_WT]
|
177
|
4
|
173
|
0.146974
|
|
例一/例二/例三/例四/例五/例六/例七
|
8.8/2/345/3.9/1/3.9/1
|
54/4/864/9/5/1/4
|
8.8/2/4.1/3.9/1/2.8
|
7.2/1.9/96/3.9/1/3.9/1
|
件所需要的字段建立索引数据摆放顺序,也就是[QTY_1]放在索引顺序的第一位,再include查询所需要的字段([WBOOK_NO],
[COP_G_NO],[G_NO],[CODE_T],[UNIT_1],[TRADE_TOTAL],[GROSS_WT]),其查询性能最佳。

|
avg_fragmentation_in_percent 值
|
修复语句
|
|
> 5% 且 < = 30%
|
ALTER INDEX REORGANIZE
|
|
> 30%
|
ALTER INDEX REBUILD WITH (ONLINE = ON)
|
SQL Server查询性能优化——覆盖索引(二)的更多相关文章
- SQL Server 查询性能优化——覆盖索引
覆盖索引又可以称为索引覆盖. 解释一: 就是select的数据列只用从索引中就能够取得,不必从数据表中读取,换句话说查询列要被所使用的索引覆盖. 解释二: 索引是高效找到行的一个方法,当能通过检索索引 ...
- SQL Server查询性能优化——覆盖索引(一)
覆盖索引又可以称为索引覆盖. 解释一: 就是select的数据列只用从索引中就能够取得,不必从数据表中读取,换句话说查询列要被所使用的索引覆盖. 解释二: 索引是高效找到行的一个方法,当能通过检索索引 ...
- SQL Server查询性能优化——创建索引原则(一)
索引是什么?索引是提高查询性能的一个重要工具,索引就是把查询语句所需要的少量数据添加到索引分页中,这样访问数据时只要访问少数索引的分页 就可以.但是索引对于提高查询性能也不是万能的,也不是建立越多的索 ...
- SQL Server 查询性能优化——创建索引原则(一)(转载)
索引是什么?索引是提高查询性能的一个重要工具,索引就是把查询语句所需要的少量数据添加到索引分页中,这样访问数据时只要访问少数索引的分页就可以.但是索引对于提高查询性能也不是万能的,也不是建立越多的索引 ...
- SQL Server 查询性能优化——创建索引原则(一)
索引是什么?索引是提高查询性能的一个重要工具,索引就是把查询语句所需要的少量数据添加到索引分页中,这样访问数据时只要访问少数索引的分页就可以.但是索引对于提高查询性能也不是万能的,也不是建立越多的索引 ...
- SQL Server 查询性能优化——创建索引原则
索引是什么?索引是提高查询性能的一个重要工具,索引就是把查询语句所需要的少量数据添加到索引分页中,这样访问数据时只要访问少数索引的分页就可以.但是索引对于提高查询性能也不是万能的,也不是建立越多的索引 ...
- SQL Server 查询性能优化——创建索引原则(二)
三:索引的建立原则 一般来说,建立索引要看数据使用的场景,换句话来说哪些访问数据的SQL语句是常用的,而这些语句是否因为缺少索引(也有可能是索引过多)变的效率低下.但绝不是所有的SQL语句都要建立索引 ...
- SQL SERVER 查询性能优化——分析事务与锁(五)
SQL SERVER 查询性能优化——分析事务与锁(一) SQL SERVER 查询性能优化——分析事务与锁(二) SQL SERVER 查询性能优化——分析事务与锁(三) 上接SQL SERVER ...
- SQL Server 查询性能优化 相关文章
来自: SQL Server 查询性能优化——堆表.碎片与索引(一) SQL Server 查询性能优化——堆表.碎片与索引(二) SQL Server 查询性能优化——覆盖索引(一) SQL Ser ...
随机推荐
- 推荐一款好用的java反编译软件——JavaDecompiler
这款反编译器叫 "Java Decompiler",在网上也是久负盛名,最近因为工作需要找来用了下,果然不错,之前都是用eclipse的插件jad来看源码的.下面这个链接是Java ...
- 2014年度辛星html教程夏季版第五节
如果读者是一位后台开发者,那么肯定会知道什么叫表单,这里我们就介绍一下前台如何使用表单,表单的使用也是我们编写网页的必须经历的一关,而且,表单也往往是我们网站的漏洞和弱点出现的地方. ******** ...
- Linux CentOS下shell显示-bash-4.1$ 不显示用户名和主机名的解决方法
CentOS下新增加一个用户,登录进去会发现shell脚本信息没有显示用户名和主机名,反而显示的是-bash-4.1$,如图所示: 而不是我们经常看到的username@hostname$的组合,看起 ...
- BeeFramework
A semi-hybrid framework that allows you to create mobile apps using Objective-C and XML/CSS
- 全国省市级联数据sql语句 mysql版
全国省市级联数据sql语句 mysql版 --省级 provincial create table provincial ( provincialID int, provincialName ), p ...
- JS数组整理
1. 检测数组的方法: 1. instanceof[操作符]: var arr = []; console.log(arr instanceof Array);//true 1. instanceof ...
- BZOJ 1729: [Usaco2005 dec]Cow Patterns 牛的模式匹配
Description 约翰的N(1≤N≤100000)只奶牛中出现了K(1≤K≤25000)只爱惹麻烦的坏蛋.奶牛们按一定的顺序排队的时候,这些坏蛋总会站在一起.为了找出这些坏蛋,约翰让他的奶牛排好 ...
- const变量的存储区及修改权限
转自const变量的存储区及修改权限 [cpp] view plaincopy const int a = 1; int *p = const_cast<int*>(&a); *p ...
- ConfigParser读取记事本、notepad++修改后的配置文件会出现:ConfigParser.MissingSectionHeaderError
使用ConfigParser来读取配置文件,经常会发现经过记事本.notepad++修改后的配置文件读取时出现下面的问题: ConfigParser.MissingSectionHeaderError ...
- [转]C,C++开源项目中的100个Bugs
[转]C,C++开源项目中的100个Bugs http://tonybai.com/2013/04/10/100-bugs-in-c-cpp-opensource-projects/ 俄罗斯OOO P ...