1 / 10
文档名称:

SQLServer2005怎样评估和管理索引_.doc

格式:doc   页数:10
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

SQLServer2005怎样评估和管理索引_.doc

上传人:zhangbing32159 2014/1/20 文件大小:0 KB

下载得到文件列表

SQLServer2005怎样评估和管理索引_.doc

文档介绍

文档介绍:SQLServer2005怎样评估和管理索引?
SQLServer2005怎样评估和管理索引?--王成辉翻译整理,转贴请注明出处 问题:SQLServer2005怎样评估和管理索引?
(1)怎样知道索引是否有用?它们是怎样使用的?
(2)哪些表和索引是没用或者很少用的?
(3)索引维护的成本与它的性能比多少合适?
(4)存在索引争夺吗?
(5)更多的索引好还是更少的索引好? 
回答:SQLServer2005动态管理视图(DMVs)返回会话、事务、请求的服务器状态信息。它可用于诊断、内存和过程调优、监控(SQLServer2000不支持)。SQLServer引擎跟踪详细的资源使用情况,用select语句从DMVs中可查到,但是这些信息不会长期驻留在磁盘上。 由于索引提供了代替表扫描的一个选择,且DMVs返回索引使用计数,所以可以比较索引的成本和其性能。这个比较包括保持索引最新的成本,与使用索引而不是表扫描读数据的性能之比。谨记一个更新或删除操作先要读数据从而定位数据,然后对定位的数据进行写操作。一个插入操作在所有的索引上只是写操作。因此,一个大量的插入将使写操作次数超过读操作次数。一个大量的更改操作(包括更新和删除),读和写的次数通常很接近(假定没有‘记录找不到’的情况发生)。一个大量的读操作,读的次数将超过写。引用约束如外键还要求额外的读操作(对于插入、更新、删除而言)去确保引用完整性得到维护。 
(1)怎样知道索引是否有用?它们是怎样使用的? 首先来看看索引是否是有用的。DDL是用来创建对象(如索引)且更新目录的。创建索引不是使用索引,所以在索引相关的DMVs不会有记录,除非索引真正被使用。当一个索引被Select、 Insert、 Update或者 Delete引用时,。如果运行一个典型的SQLServer使用周期后,。这样,(在最近的一个SQLServer使用周期里)。未使用的索引可通过下面的方式找到: 
 (2)哪些表和索引是没用或者很少用的? ------ 未使用的表和索引。表都有一个索引ID,如果是0则为堆表,1则为聚集索引
Declare ***@dbid int
Select ***@dbid = db_id('Northwind')Select  objectname=object_name()                        , indexname=, from i, o where objectproperty(,'IsUserTable') = 1and NOT IN (select        from s                where = and