查询达梦数据库中创建的索引,不包含系统索引和子分区表上的索引

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
--查询全库索引
SELECT IDX.OWNER,
IDX.TABLE_NAME,
IDX.INDEX_NAME
FROM ALL_INDEXES IDX
INNER JOIN ALL_TABLES TB
ON TB.TABLE_NAME=IDX.TABLE_NAME
AND TB.OWNER=IDX.OWNER
INNER JOIN (SELECT SYSOBJ.NAME
FROM SYSOBJECTS SYSOBJ
INNER JOIN SYSINDEXES SYSIDX
ON SYSIDX.ID=SYSOBJ.ID
WHERE SYSIDX.FLAG IN (0,8,32)
AND SYSOBJ.SCHID IN (SELECT OBJ1.ID
FROM SYSOBJECTS OBJ1
WHERE OBJ1.NAME NOT IN('CTISYS','SYS','SYSAUDITOR','SYSSSO') AND OBJ1.TYPE$='SCH')) ALLIDX
ON ALLIDX.NAME=IDX.INDEX_NAME --WHERE TB.OWNER IN ('DMTEST') AND IDX.TABLE_NAME='TBTEST'
GROUP BY IDX.OWNER,
IDX.TABLE_NAME,
IDX.INDEX_NAME
ORDER BY IDX.OWNER,
IDX.TABLE_NAME,
IDX.INDEX_NAME;


--查询当前用户的索引(普通用户可执行)
SELECT IDX.TABLE_NAME,
IDX.INDEX_NAME
FROM USER_INDEXES IDX
INNER JOIN (SELECT SYSOBJ.NAME
FROM SYSOBJECTS SYSOBJ
INNER JOIN SYSINDEXES SYSIDX
ON SYSIDX.ID=SYSOBJ.ID
WHERE SYSIDX.FLAG IN (0,8,32)
AND SYSOBJ.SCHID IN (SELECT OBJ1.ID
FROM SYSOBJECTS OBJ1
WHERE OBJ1.NAME NOT IN('CTISYS','SYS','SYSAUDITOR','SYSSSO') AND OBJ1.TYPE$='SCH')) ALLIDX
ON ALLIDX.NAME=IDX.INDEX_NAME --WHERE IDX.TABLE_NAME='TBTEST'
GROUP BY IDX.TABLE_NAME,
IDX.INDEX_NAME
ORDER BY IDX.TABLE_NAME,
IDX.INDEX_NAME;