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