目录
前言:
准备工作:
步骤:
分析:
首页 数据库 mysql教程 第十二章SQLServer统计信息(4)在过滤索引上的统计信息

第十二章SQLServer统计信息(4)在过滤索引上的统计信息

Jun 07, 2016 pm 03:19 PM
2 sqlserver 信息 前言 索引 统计 过滤

前言: 从 2008 开始,引入了一个增强非聚集 索引 的新功能—— 过滤 索引 ( filter index ),可以使用带有 where 条件的语句来创建非聚集 索引 , 过滤 掉不需要的数据,降低 索引 的维护开销和存储空间,提高查询性能。 准备工作: 在 AdventureWorks201

前言:

        从2008开始,引入了一个增强非聚集索引的新功能——过滤索引filter index),可以使用带有where条件的语句来创建非聚集索引过滤掉不需要的数据,降低索引的维护开销和存储空间,提高查询性能。

 

准备工作:

AdventureWorks2012上,有一个Production.WorkOrder表,将使用这个表来做演示。

 

步骤:

1、  创建一个非聚集索引Production.WorkOrder列:

CREATE INDEX idx_WorkOrder_ScrapReasonID ON Production.WorkOrder(ScrapReasonID)

GO
登录后复制


 

2、  创建一个非聚集索引会自动更新对应的统计对象:

DBCC SHOW_STATISTICS('Production.WorkOrder',IX_WorkOrder_ScrapReasonID)

GO
登录后复制


 

 

3、  结果如下:

 

第十二章SQLServer统计信息(4)在过滤索引上的统计信息

4、  查看All denisty列,现在删掉之前的索引,并创建一个过滤索引

DROP INDEX IX_WorkOrder_ScrapReasonID ON Production.WorkOrderGO CREATE INDEX IX_WorkOrder_ScrapReasonID ON Production.WorkOrder(ScrapReasonID)WHERE ScrapReasonID IS NOT NULL GO
登录后复制


 

 

5、  再次执行并查看All density列,最后删除这个索引

 

 DBCC SHOW_STATISTICS('Production.WorkOrder',IX_WorkOrder_ScrapReasonID)

GO

 

DROP INDEX IX_WorkOrder_ScrapReasonID ON Production.WorkOrder

GO
 
登录后复制


 

 

6、  结果如下:

 第十二章SQLServer统计信息(4)在过滤索引上的统计信息

分析:

        从上面的两个图中对比结果可以知道,第一个结果集,在row sampled列是不同的,第一个是72591,第二个是729,相差了接近100倍,在Filter Expression列,一个是null一个是有值。

        在All density列,第一个显示的是ScriptReasonID列,这个没有什么明显的差别。但是第二个就有比较大的差异。因为ScriptReasonID是指向聚集索引的非聚集索引列。

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

​sqlserver怎么导入mdf文件 ​sqlserver怎么导入mdf文件 Apr 08, 2024 am 11:41 AM

导入步骤如下:将 MDF 文件复制到 SQL Server 的数据目录(通常为 C:\Program Files\Microsoft SQL Server\MSSQL\DATA)。在 SQL Server Management Studio(SSMS)中,打开数据库并选择“附加”。单击“添加”按钮,选择 MDF 文件。确认数据库名称,点击确定按钮即可。

sqlserver数据库中已存在名为的对象怎么解决 sqlserver数据库中已存在名为的对象怎么解决 Apr 05, 2024 pm 09:42 PM

对于 SQL Server 数据库中已存在同名对象,需要采取以下步骤:确认对象类型(表、视图、存储过程)。如果对象为空,可使用 IF NOT EXISTS 跳过创建。如果对象有数据,使用不同名称或修改结构。使用 DROP 删除现有对象(谨慎操作,建议备份)。检查架构更改,确保没有引用删除或重命名的对象。

sqlserver服务无法启动怎么办 sqlserver服务无法启动怎么办 Apr 05, 2024 pm 10:00 PM

当 SQL Server 服务无法启动时,可采取以下步骤解决:检查错误日志以确定根本原因。确保服务帐户具有启动服务的权限。检查依赖项服务是否正在运行。禁用防病毒软件。修复 SQL Server 安装。如果修复不起作用,重新安装 SQL Server。

怎么查看sqlserver端口号 怎么查看sqlserver端口号 Apr 05, 2024 pm 09:57 PM

要查看 SQL Server 端口号:打开 SSMS,连接到服务器。在对象资源管理器中找到服务器名称,右键单击它,然后选择“属性”。在“连接”选项卡中,查看“TCP 端口”字段。

sqlserver误删数据库怎么恢复 sqlserver误删数据库怎么恢复 Apr 05, 2024 pm 10:39 PM

若误删 SQL Server 数据库,可采取以下步骤恢复:停止数据库活动;备份日志文件;检查数据库日志;恢复选项:从备份恢复;从事务日志恢复;使用 DBCC CHECKDB;使用第三方工具。请定期备份数据库并启用事务日志以防止数据丢失。

sqlserver安装失败怎么样删除干净 sqlserver安装失败怎么样删除干净 Apr 05, 2024 pm 11:27 PM

如果 SQL Server 安装失败,可通过以下步骤清理:卸载 SQL Server删除注册表项删除文件和文件夹重启计算机

sqlserver英文安装怎么更改中文 sqlserver英文安装怎么更改中文 Apr 05, 2024 pm 10:21 PM

SQL Server 英文安装可通过以下步骤更改为中文:下载相应语言包;停止 SQL Server 服务;安装语言包;更改实例语言;更改用户界面语言;重启应用程序。

sqlserver删不干净无法重新安装怎么办 sqlserver删不干净无法重新安装怎么办 Apr 05, 2024 pm 11:30 PM

SQL Server 删除不干净导致无法重新安装的问题可以通过以下步骤解决:手动删除文件和注册表项;使用 SQL Server 安装卸载工具;使用第三方卸载工具;检查 Windows 事件查看器;重新启动计算机;重新安装 SQL Server。

See all articles