- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SQLServer2005怎样评估和管理索引?
SQLServer2005怎样评估和管理索引?--王成辉翻译整理,转贴请注明出处?问题:SQLServer2005怎样评估和管理索引?
(1)怎样知道索引是否有用?它们是怎样使用的?
(2)哪些表和索引是没用或者很少用的?
(3)索引维护的成本与它的性能比多少合适?
(4)存在索引争夺吗?
(5)更多的索引好还是更少的索引好??
回答:SQLServer2005动态管理视图(DMVs)返回会话、事务、请求的服务器状态信息。它可用于诊断、内存和过程调优、监控(SQLServer2000不支持)。SQLServer引擎跟踪详细的资源使用情况,用select语句从DMVs中可查到,但是这些信息不会长期驻留在磁盘上。?由于索引提供了代替表扫描的一个选择,且DMVs返回索引使用计数,所以可以比较索引的成本和其性能。这个比较包括保持索引最新的成本,与使用索引而不是表扫描读数据的性能之比。谨记一个更新或删除操作先要读数据从而定位数据,然后对定位的数据进行写操作。一个插入操作在所有的索引上只是写操作。因此,一个大量的插入将使写操作次数超过读操作次数。一个大量的更改操作(包括更新和删除),读和写的次数通常很接近(假定没有‘记录找不到’的情况发生)。一个大量的读操作,读的次数将超过写。引用约束如外键还要求额外的读操作(对于插入、更新、删除而言)去确保引用完整性得到维护。?
(1)怎样知道索引是否有用?它们是怎样使用的??首先来看看索引是否是有用的。DDL是用来创建对象(如索引)且更新目录的。创建索引不是使用索引,所以在索引相关的DMVs不会有记录,除非索引真正被使用。当一个索引被Select、 Insert、 Update或者 Delete引用时,会被sys.dm_db_index_usage_stats捕获。如果运行一个典型的SQLServer使用周期后,所有的有用的索引都会记录在sys.dm_db_index_usage_stats中。这样,任何一个在sys.dm_db_index_usage_stats中找不到的索引就是没用的索引(在最近的一个SQLServer使用周期里)。未使用的索引可通过下面的方式找到:?
?(2)哪些表和索引是没用或者很少用的?? 未使用的表和索引。表都有一个索引ID,如果是0则为堆表,1则为聚集索引
Declare @dbid int
Select @dbid = db_id(Northwind)Select? objectname=object_name(i.object_id)??????????????????????? , indexname=, i.index_id from sys.indexes i, sys.objects o where objectproperty(o.object_id,IsUserTable) = 1and i.index_id NOT IN (select s.index_id ?????? from sys.dm_db_index_usage_stats s ?????????????? where s.object_id=i.object_id and ??????????????????????? i.index_id=s.index_id and ??????????????????????? database_id = @dbid )and o.object_id = i.object_idorder by objectname,i.index_id,indexname asc?
使用很少的索引和频繁使用的索引一样,都会记录在sys.dm_db_index_usage_stats中。为了找出这些索引,需要查看诸如user_seeks、 user_scans、 user_lookups和user_updates的列。
? 使用很少的索引排在最先
declare @dbid intselect @dbid = db_id()
select objectname=object_name(s.object_id), s.object_id, indexname=, i.index_id??????????? , user_seeks, user_scans, user_lookups, user_updatesfrom sys.dm_db_index_usage_stats s,??????????? sys.indexes iwhere database_id = @dbid and objectproperty(s.object_id,IsUserTable) = 1and i.object_id = s.object_
您可能关注的文档
- SolarWinds解决方案.doc
- SolidWorks的二次开发在箱体类零件中的应用.doc
- solidworks简介.doc
- SOPC复习资料.doc
- SourceInsight配置WinAVR.doc
- Spchange流程.doc
- SPOOL号码满分析.doc
- spring jar 包详解.doc
- Spring MVC框架的高级配置.doc
- Spring 编程入门十大问题解答.doc
- “测量的学与教”研究概况及其对小学数学教学的启示——基于ICME-15中TSG1.5的梳理与分析.docx
- 教育心得:国家安全观视域下海洋安全教育体系的建构——以中学地理为例.docx
- 数学课堂中学生问题提出的评估.docx
- 基于图画分析的小学生人工智能学习观念横断面调查研究.docx
- 情境学习视角下小学生科学课堂参与现状及其影响因素研究——基于9节省部级优课视频的Nvivo分析.docx
- 社交媒体时代儿童道德共识的现状及影响因素研究——基于六地区3~9年级学生的调查.docx
- 教育心得:基于证据的教学改进研究与实践.docx
- 事实性知识、概括性知识与“大概念”——以语文学科为背景.docx
- 论语文课程教学的数字化转型.docx
- 家校合作 家校互动不良的原因分析与对策研究.docx
文档评论(0)