2016-01-11--黄涛--从索引方向优化系统速度问题(SQL SERVER2008以上版本).docx_第1页
2016-01-11--黄涛--从索引方向优化系统速度问题(SQL SERVER2008以上版本).docx_第2页
2016-01-11--黄涛--从索引方向优化系统速度问题(SQL SERVER2008以上版本).docx_第3页
2016-01-11--黄涛--从索引方向优化系统速度问题(SQL SERVER2008以上版本).docx_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

从索引方向优化LIMS系统速度问题在数据库中,可通过动态管理视图(DMV)和函数(DMF)查出数据库分析出的所缺少的索引信息。本文档是基于SQL SERVER2008版本以上环境。一、 缺失索引T-SQL语句select sys.dm_db_missing_index_group_stats.group_handle,sys.dm_db_missing_index_group_stats.avg_user_impact,sys.dm_db_missing_index_details.* from sys.dm_db_missing_index_group_statsinner join sys.dm_db_missing_index_groupson sys.dm_db_missing_index_group_stats.group_handle = sys.dm_db_missing_index_groups.index_group_handleinner join sys.dm_db_missing_index_detailson sys.dm_db_missing_index_groups.index_handle = sys.dm_db_missing_index_details.index_handlewhere sys.dm_db_missing_index_groups.index_group_handle = 66查询出来的结果如下图所示:关键字段说明Object_id:表格在数据库中对应的标记;Equality_columns:用于等于操作的字段;Inequality_columns:表示非等于操作的字段;Included_columns:表示建立使用include关键字添加在索引叶子结点的字段(简单的说就是SQL语句中返回结果集字段);Statement:表示缺失索引的表名;avg_user_impact:表示该索引创建后,将可以降低成本的百分比。涉及到的DMV或者DMFselect * from sys.dm_db_missing_index_columns(索引ID)说明:返回索引使用查询优化器的信息,如果它们还可用,则包括该列如何被查询优化器使用的信息。select * from sys.dm_db_missing_index_details说明:返回关于缺失索引的详细信息,包括表、列的等于运算、不等于运算以及列的包含运算。select * from sys.dm_db_missing_index_group_stats说明:返回关于缺失索引的组信息,SQL Server更新需要的每个查询执行(不是基于查询编译或重编译)。select * from sys.dm_db_missing_index_groups说明:返回关于缺失索引组包含缺失索引的信息。注意:在这几个动态管理视图中的数据,是针对于服务器,从上次启动至下次关闭之前,并且使用过相应的语句之后,系统自动分析出来的索引信息,在服务器关闭之后,这些数据会被清除,再次启动之后,随着系统的使用,才会慢慢产生相应的内容。找到缺失的索引,并根据实际情况建立相应的索引。二、无效索引T-SQL语句select ,sys.dm_db_index_usage_stats.user_seeks,sys.dm_db_index_usage_stats.system_scans,sys.dm_db_index_usage_stats.user_lookups,sys.dm_db_index_usage_stats.user_updates from sys.dm_db_index_usage_statsinner join sys.indexeson sys.indexes.index_id = sys.dm_db_index_usage_stats.index_idinner join sys.objectson sys.objects.object_id = sys.indexes.index_id查询结果如下图所示:关键字段说明Name:索引名称;User_seeks:用户语句定位操作的次数;User_scans:用户语句扫描操作的次数;User_lookups:用户语句使用该索引导致通过书签进行查找的操作次数;User_updates:表示索引字段被用户的更新语句更新的次数。涉及到的DMV或者DMFSelect * sys.dm_db_index_usage_stats说明:查找索引字段的相应使用信息。sys.objects说明:数据库中,表的对应信息。sys.indexes说明:数据库中,索引的对应信息。找到无用的索引信息,并清理之。三、索引碎片T-SQL语句select distinct sys.dm_db_index_physical_stats.index_type_desc,sys.dm_db_index_physical_stats.avg_fragmentation_in_percent,sys.objects.* from sys.dm_db_index_physical_stats(db_id(),null, null, null, null)inner join sys.indexes on sys.indexes.index_id = sys.dm_db_index_physical_stats.index_idinner join sys.objectson sys.objects.object_id = sys.indexes.object_idwhere sys.dm_db_index_physical_stats.avg_fragmentation_in_percent= 30查询结果如下图所示:关键字段说明Index_type_desc:索引类型;avg_fragmentation_in_percent:索引碎片百分比;index_name:索引名称;name:表名称;涉及到的DMV或者DMFselect * from sys.dm_db_index_physical_stats(db_id(),null, null, null, null)说明:索引碎片的详细信息动态管理函数解决方法事后解决索引问题1. 删除索引并重建。对于删除聚集索引,则会导致对应的非聚集索引重建两次(删除时重建,建立时再重建).虽然这种方法并不好,但是对于索引的整理最为有效。会导致阻塞发生。2. 使用DROP_EXISTING语句重建索引。原子性重建索引,不会导致非聚集索引重建两次。会导致阻塞发生。3. 如前面文章所示,使用ALTER

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论