神器与经典--sp_helpIndex
=======================================================
每每和那些NB的人学习技术的时候,往往都佩服他们对各个知识点都熟捻于心,更佩服的是可以在很短时间找出很多业界大师写的文章和开发的工具,就像机器猫的口袋,让人羡慕嫉妒恨啊!宋沄剑宋桑就是其中之一,打劫其硬盘的念头已计划很久,只待时机成熟。
=======================================================
SQL SERVER 提供了众多的SP_HELP*的系统存储过程来帮助开发者查看SQL SERVER 各种对象,如最为常用的有SP_HELPTEXT。
SP_HELPINDEX [@objname] 'name' 用来获取指定表或视图上的索引,方便查看
但这么简陋的三列肯定无法满足欲求不满的DBA,使用几个系统表页可以倒腾出这些数据,而且还容易修改
SELECT OBJECT_NAME(ix.object_id) AS TableName, ix.name AS IndexName, C.name AS ColName, IC.is_included_column AS IsIncluded FROM sys.indexes IX INNER JOIN sys.index_columns IC ON IX.object_id=IX.object_id AND IX.index_id=IC.index_id INNER JOIN sys.columns C ON IC.object_id=C.object_id AND C.column_id=IC.column_id WHERE IX.object_id=OBJECT_ID('TB5')
当然,这种不入眼的查询无法拿出来镇压那些牛鬼蛇神,于是伟大的 Kimberly Tripp 为我们改写出伟大的 SP_HELPINDEX2(2005) 和SP_HELPINDEX2(2008),为我们增加了给力的包含列
于是乎,我们再一次验证了那个神创造的真理"野花总比家花香",但是,以操蛋的精神来讨论问题的话来说“惯例,这不是高潮,高潮总是出现在最后”, kimberly 大师一次次重写这个直到SP_HELPINDEX8的出现(PS乔布斯这个乔不死的家伙将版本号运用到了巅峰啊), 是时候有个【神器】出现了,这便是给力的 sp_SQLskills_SQL2008_helpindex 和 sp_SQLskills_SQL2005_helpindex 和他们所依赖的 sp_SQLskills_ExposeColsInIndexLevels
小伙伴们,来见识下神器的威力吧!!!
神器除了拥有原版的属性外,还增加了范围攻击(filter_definition)以及一石二鸟(columns_in_use和columns_in_leaf), 实在是居家旅行+杀人放火+吹牛装B之必备啊
是时候给自己加个防火盾,缓解下舆论压力,证明下哥不是没牙的徒弟——无耻之徒,特提供以下链接:
http://www.sqlskills.com/blogs/kimberly/a-new-and-improved-sp_helpindex-jokingly-sp_helpindex8/
http://www.sqlskills.com/blogs/kimberly/updates-fixes-to-sp_helpindex2/
http://sqlskills.com/blogs/kimberly