SQLServer 索引的使用情况

—在优化查询SQL语句,查看索引使用情况SQL语句:

select db_name(database_id) as N‘数据库名称‘,

object_name(a.object_id) as N‘表名‘,

b.name N‘索引名称‘,

user_seeks N‘用户索引查找次数‘,

user_scans N‘用户索引扫描次数‘,

last_user_seek N‘最后查找时间‘,

last_user_scan N‘最后扫描时间‘,

rows as N‘表中的行数‘

from sys.dm_db_index_usage_stats a join 
     sys.indexes b
     on a.index_id = b.index_id
     and a.object_id = b.object_id
     join sysindexes c

on c.id = b.object_id

where database_id=db_id(‘数据库名‘)   --指定数据库

and object_name(a.object_id) not like ‘sys%‘

and object_name(a.object_id) like ‘表名‘  --指定索引表

and b.name like ‘索引名‘ --指定索引名称 可以先使用 sp_help ‘你的表名‘ 查看表的结构和所有的索引信息

order by user_seeks,user_scans,object_name(a.object_id)

—在优化查询SQL语句,查看索引使用情况SQL语句:

select db_name(database_id) as N‘数据库名称‘,

object_name(a.object_id) as N‘表名‘,

b.name N‘索引名称‘,

user_seeks N‘用户索引查找次数‘,

user_scans N‘用户索引扫描次数‘,

last_user_seek N‘最后查找时间‘,

last_user_scan N‘最后扫描时间‘,

rows as N‘表中的行数‘

from sys.dm_db_index_usage_stats a join 
     sys.indexes b
     on a.index_id = b.index_id
     and a.object_id = b.object_id
     join sysindexes c

on c.id = b.object_id

where database_id=db_id(‘数据库名‘)   --指定数据库

and object_name(a.object_id) not like ‘sys%‘

and object_name(a.object_id) like ‘表名‘  --指定索引表

and b.name like ‘索引名‘ --指定索引名称 可以先使用 sp_help ‘你的表名‘ 查看表的结构和所有的索引信息

order by user_seeks,user_scans,object_name(a.object_id)

"/>

时间: 2024-11-06 10:02:05

SQLServer 索引的使用情况的相关文章

SQLSERVER索引在什么情况下会失效

索引并不是时时都会生效的,比如以下几种情况,将导致索引失效: 如果条件中有or,即使其中有条件带索引也不会使用(这也是为什么尽量少用or的原因) 注意:要想使用or,又想让索引生效,只能将or条件中的每个列都加上索引 2.对于多列索引,不是使用的第一部分,则不会使用索引 3.like查询是以%开头 4.如果列类型是字符串,那一定要在条件中将数据使用引号引用起来,否则不使用索引 show status like 'Handler_read%';大家可以注意:handler_read_key:这个值

SQLSERVER 索引维护

SQLSERVER 索引维护 2012-03-08 00:30:09|  分类: 默认分类 |  标签:sql  sqlserver  索引  |举报|字号 订阅 Pages & Extents(页和扩展盘区)SQL Server 2000最基本的数据存储单元是data page,1个8K的存储空间.在分配存储空间时,SQL Server 2000并不是每次分配1个page,基本的存储空间分配单元是8个page的连续空间,称为extent.关于SQL Server 2000的page.exten

(转)SqlServer索引及优化详解(1)

(一)深入浅出理解索引结构 ??????? 实际上,您可以把索引理解为一种特殊的目录.微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引.簇集索引)和非聚集索引(nonclustered index,也称非聚类索引.非簇集索引).下面,我们举例来说明一下聚集索引和非聚集索引的区别: ??????? 其实,我们的汉语字典的正文本身就是一个聚集索引.比如,我们要查"安"字,就会很自然地翻开字典的前几页,因为"安"的拼音是&q

SQLServer索引

SQLServer索引1.聚集和非聚集索引聚集索引:根据聚集索引进行排序,非聚集索引因为不根据索引键排序,所以聚集索引比非聚集索引快(一个表只有一个聚集索引)2.唯一索引和非唯一索引唯一索引时值不能重复 建立索引的原则:1) 定义主键的数据列一定要建立索引.2) 定义有外键的数据列一定要建立索引.3) 对于经常查询的数据列最好建立索引.4) 对于需要在指定范围内的快速或频繁查询的数据列;5) 经常用在WHERE子句中的数据列.6) 经常出现在关键字order by.group by.distin

跟踪索引的使用情况以便我们优化索引

我们知道索引对我们dml操作的影响是很大的. 我们需要对所建的索引进行跟踪,看看他们建的是否合理,是否用到了,对没有用到和用处不大的索引给予删除. 对需要跟踪的索引进行跟踪 alter index 索引名 monitoring usage; 通过观察v$object_usage; 来进行跟踪 select * from v$object_usage; 但是这种方法不能统计索引的使用次数 可以用user_index 这个数据字典来统计. 跟踪索引的使用情况以便我们优化索引,布布扣,bubuko.c

分析oracle索引空间使用情况,以及索引是否须要重建

分析索引空间使用情况.以及索引是否须要重建 分析其它用户下的索引须要 analyze any的权限 分析索引前先查看表的大小和索引的大小,假设索引大小和表大小一样大或者大于表的大小,那么能够推断索引可能有问题.须要分析索引 查询对象大小: select owner,segment_name,segment_type,bytes/1024/1024 from dba_segments order by 4 desc 1.分析索引 SQL> analyze index AA.INDEX_AA val

分析oracle索引空间使用情况,以及索引是否需要重建

分析索引空间使用情况,以及索引是否需要重建 分析其他用户下的索引需要 analyze any的权限 分析索引前先查看表的大小和索引的大小,如果索引大小和表大小一样大或者大于表的大小,那么可以判断索引可能有问题,需要分析索引 查询对象大小: select owner,segment_name,segment_type,bytes/1024/1024 from dba_segments order by 4 desc 1.分析索引 SQL> analyze index AA.INDEX_AA val

oracle怎样查询索引的使用情况

查询用户的索引select index_name,table_name,tablespace_name, index_type,uniqueness , status from dba_indexes where owner='SCOTT';查询用户的索引列select index_name,table_name,column_name, index_owner,table_ownerfrom dba_ind_columnswhere table_owner='SCOTT';查看索引的各种初始化

PostgreSQL查看索引的使用情况

--========================================== --查看索引的使用情况 --索引在重建或删除新建时sys.dm_db_index_usage_stats中相关的数据会被清除 --索引在重整是不会清除sys.dm_db_index_usage_stats的数据 SELECT DB_NAME(ixu.database_id) DataBase_Name , OBJECT_NAME(ixu.object_id) Table_Name , ix.name Ind