SQL Server 查询表索引


1. 查询表索引
SELECT
     索引名称=a.name
     ,表名=c.name
     ,索引字段名=d.name
     ,索引字段位置=d.colid
     ,c.status
  FROM sysindexes a
     JOIN sysindexkeys b ON a.id=b.id AND a.indid=b.indid
     JOIN sysobjects c ON b.id=c.id
     JOIN syscolumns d ON b.id=d.id AND b.colid=d.colid
WHERE a.indid NOT IN(0,255)
              and c.xtype='U' --and c.status>0 --查所有用户表
              --AND c.name='message' --查指定表
ORDER BY c.name,a.name,d.name;

 

2. 查询没有索引的表
select * from sysobjects where xtype='U'
                                                and name not in (
                                                SELECT c.name
                                                FROM sysindexes a
                                                JOIN sysindexkeys b ON a.id=b.id AND a.indid=b.indid
                                                JOIN sysobjects c ON b.id=c.id
                                                JOIN syscolumns d ON b.id=d.id AND b.colid=d.colid
                                                WHERE a.indid NOT IN(0,255)
                                        and c.xtype='U' --and c.status>0 --查所有用户表
                                        --AND c.name='message' --查指定表
);
order by name


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM