Sqlserver 2005+:数据库【推荐】的【丢失索引】信息
2012-11-20 17:30
253 查看
set nocount on go select DB_NAME() as db_name ,d.name as object_name ,e.rowcnt ,str(c.avg_total_user_cost*(c.user_scans+c.user_seeks),16,0) as total_user_cost --总成本 ,str(c.avg_total_user_cost,16,0) as avg_total_user_cost --平均成本 ,c.avg_user_impact --平均收益(%) --,c.user_scans --受益 的 scan 次数 ,c.user_seeks --受益 的 seek 次数 ,c.unique_compiles as compiles --涉及到该索引的 compile 次数 ,a.equality_columns,a.inequality_columns --,a.included_columns ,case when a.included_columns is not null then 'yes' else '' end as [has_include] ,d.name as object_name2 ,'CREATE INDEX [IX_' + d.name + '_' + replace(replace(replace(replace(isnull(a.equality_columns,a.inequality_columns),'[',''),']',''),',','_'),char(32),'') + ']' + ' ON ' + a.statement + ' ('+ case when a.equality_columns is not null then a.equality_columns else a.inequality_columns end + ')' + case when a.included_columns is not null then ' INCLUDE (' + a.included_columns + ')' else '' end as create_index_stmt --,str(c.avg_total_system_cost,16,0) as avg_total_system_cost,c.avg_system_impact --,c.system_scans,c.system_seeks --,c.last_user_scan,c.last_system_seek --,c.last_system_scan,c.last_system_seek from sys.dm_db_missing_index_details a inner join sys.dm_db_missing_index_groups b on b.index_handle=a.index_handle inner join sys.dm_db_missing_index_group_stats c on c.group_handle=b.index_group_handle inner join sys.objects d on d.object_id=a.object_id inner join sysindexes e on e.indid in (0,1) and e.id=a.object_id where database_id=DB_ID() --and d.name in ('WFPUSER_A0120_READY','','') order by total_user_cost desc ,c.avg_total_user_cost desc,c.user_seeks desc,c.user_scans desc --order by c.avg_total_user_cost desc --order by d.name,c.avg_user_impact desc --order by c.avg_user_impact desc
相关文章推荐
- SQL Server 2008 转换为 SQL 2005 数据库 脚本生成方式(解决主键、索引、标识等数据库约束丢失)
- Sqlserver 2005 配置 数据库镜像:强制服务(可能造成数据丢失):使镜像数据库 强制成为 主数据库
- SQL Server 2008 转换为 SQL 2005 数据库 脚本生成方式(解决主键、索引、标识等数据库约束丢失)
- Sqlserver 2005 配置 数据库镜像:强制服务(可能造成数据丢失):使镜像数据库 强制成为 主数据库
- SqlServer中查看数据库所有表的表空间和索引空间信息
- sqlserver查询数据库所有存储过程、触发器、索引信息
- SQL Server 2008 转换为 SQL 2005 数据库 脚本生成方式(解决主键、索引、标识等数据库约束丢失)
- sql server 2005 中数据库表 的创建 ,查看表 属性,表的名称重命名,情况表中信息,删除表 ; 表中列重命名,添加新列,修改列的数据类型,删除列,设置列的主键外键
- 脚本:SQLServer 2008 生成某数据库中的所有索引创建脚本
- 关于.net项目开发工具(V2.0)SQLServer 2005数据库插件的失误
- SqlSever2005 一千万条以上记录分页数据库优化经验总结【索引优化 + 代码优化】一周搞定 推荐
- SqlServer 2005/2008数据库被标记为“可疑”的解决办法
- 学习数据库:SqlServer 2005之注册网络服务器
- SQLSERVER是怎麽通过索引和统计信息来找到目标数据的(第二篇)
- 显示数据库中的表结构(新增了索引及表的描述信息)
- varchar(max) text sqlserver 2005 数据库的正则替换
- SQLSERVER是怎麽通过索引和统计信息来找到目标数据的(第三篇)
- 在sql server 2005里,根据数据库性能动态构建索引。
- Sqlserver 2005+:查看索引【index】的【碎片】
- 第十二章——SQLServer统计信息(2)——非索引键上统计信息的影响