如何列出Oracle中易于定义的索引列?
我如何在select语句中使用这些索引?就像是:
SELECT x, y, z FROM a WITH INDEX(x)...
Run Code Online (Sandbox Code Playgroud)
a_h*_*ame 15
如何列出Oracle中容易定义的索引列
SELECT *
FROM all_ind_columns
WHERE table_name = 'YOUR_TABLE'
Run Code Online (Sandbox Code Playgroud)
http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/statviews_1064.htm#i1577532
如何在select语句中使用这些索引
你不需要做任何事情.如果索引将加速查询,Oracle将自动使用它.
此查询还显示基于函数的索引的列表达式(如果有):
SELECT
i.table_owner,
i.table_name,
i.index_name,
i.uniqueness,
c.column_name,
f.column_expression
FROM all_indexes i
LEFT JOIN all_ind_columns c
ON i.index_name = c.index_name
AND i.owner = c.index_owner
LEFT JOIN all_ind_expressions f
ON c.index_owner = f.index_owner
AND c.index_name = f.index_name
AND c.table_owner = f.table_owner
AND c.table_name = f.table_name
AND c.column_position = f.column_position
WHERE i.table_owner LIKE UPPER('%someuserpattern%')
AND i.table_name LIKE UPPER('%sometablepattern%')
ORDER BY i.table_owner, i.table_name, i.index_name, c.column_position
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23114 次 |
| 最近记录: |