ORACLE
// 11gR2 이상 버전에서는 listagg 함수를 쓰면 편하게 표현가능.
// 11gR2에서 해당 함수를 쓰면 plan은 볼 수 없는 듯함.
select a.table_name, a.index_name,
listagg(b.column_name,', ') within group (order by b.column_name) as columns
from user_indexes a, user_ind_columns b
where a.table_name = b.table_name
and a.index_name = b.index_name
and a.table_name = '[테이블 명]'
group by a.table_name,a.index_name;
// 11gR2 이전에서는 아래와 같은 방식을 사용
// 이 역시 plan을 볼 수 없음.
select table_name,
index_name,
substr(xmlagg(xmlelement(column_name,', ' || column_name) order by column_name).EXTRACT('//text()').getstringval(),2) as columns
from user_ind_columns
where table_name = '[테이블 명]'
group by table_name, index_name;
'DA > 튜닝' 카테고리의 다른 글
[DA/튜닝] PostgreSQL 튜닝 관련 Parameter (0) | 2021.01.08 |
---|---|
[DA/튜닝] MySQL & MariaDB 튜닝 관련 Parameter (0) | 2020.08.25 |
[DA/튜닝] Oracle 튜닝 관련 Parameter (0) | 2019.08.21 |
[DA/튜닝] 날짜 Table 생성 (0) | 2019.07.18 |
[DA] Static SQL 과 Dynamic SQL (0) | 2019.06.07 |