SELECT 索引名稱=a.name
,表名=c.name
,索引字段名=d.name
,索引字段位置=d.colid
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
需創建索引 例如:
- 根據某列判斷是否有重復記錄,如果該列為非主鍵,則創建索引
- 根據經常查詢的列,創建索引
無須創建索引
- 字段內容大部分一樣,例如:男,女
- 不要給所有的列都創建索引,這樣在創建新記錄時,增加維護開銷時間。
Oracle 查詢用戶表索引
select index_name,index_type,table_name from user_indexes where table_name='表名'