SQL Server资源管理之内存管理篇(上)

发表于:2011-2-28 10:41  作者:hjq19851202   来源:51Testing软件测试网采编

字体: | 上一篇 | 下一篇 |我要投稿 | 推荐标签:

  根据上面取出来的@object_id找出是哪个数据库的哪个表

  1. SELECT    s.name AS table_schema, o.name as table_name --使用的就是table_schema.table_name表  
  2. FROM    sys.sysobjects AS o INNER JOIN 
  3.           sys.schemas AS s ON o.uid = s.schema_id  
  4. WHERE    (o.id = @object_id)

  根据上面取出来的@object_id和@index_id找出索引的名称

  1. SELECT    id, indid, name as index_name -- index_name就是索引的名称  
  2. FROM    sys.sysindexes  
  3. WHERE    (id = @object_id) AND (indid = @index_id)

  根据上面取出来的表名table_schema.table_name和索引的名称index_name,还可以找出该索引是建立在哪些字段上的

EXEC sp_helpindex 'table_schema.table_name'

  查看内存中缓存的执行计划,以及执行计划对应的语句:

  输出可能较大,请小心使用

  1. SELECT    usecounts, refcounts, size_in_bytes, cacheobjtype, objtype, text   
  2. FROM    sys.dm_exec_cached_plans cp CROSS APPLY sys.dm_exec_sql_text(plan_handle)   
  3. ORDER BY objtype DESC

  写了这么多竟然发现大多数讲的还是数据收集的这一部分,相应的解决办法还没有讲到......由于文章太长,具体的解决方法将在下一篇讲解,下一篇将从Database Page、Stolen和Multi-Page三部分的具体瓶颈来讲解。

相关链接:

SQL Server资源管理之内存管理篇(下)
55/5<12345

评 论

论坛新帖

顶部 底部


建议使用IE 6.0以上浏览器,800×600以上分辨率,法律顾问:上海信义律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2021, 沪ICP备05003035号
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪公网安备 31010102002173号

51Testing官方微信

51Testing官方微博

扫一扫 测试知识全知道