[ORACLE SQL TIP]외래키에 인덱스 걸려 있는 않은것 조회 오라클 SQL
부모 테이블과 자식 테이블이 서로 참조키(외래키) 관계에 있을때
자식 테이블의 컬럼에 인덱스가 없다면 검색이나 갱신시 performance의 문제가 있을 수 있습니다. 특히 갱신시 자식테이블에 TABLE LOCK이 걸릴 수 있습니다.
(물론 9i에서는 shared lock이 걸려 무조건 insert가 안되는 것은 아닙니다.)
이러한 문제가 있는 것을 조회하는 SQL 문장 입니다.
Owner - Owner of the table
Constraint Name - Name of the constraint
Column Name - Name of the column
Position - Position of the index
Problem - Nature of the problem
select acc.OWNER,
acc.CONSTRAINT_NAME,
acc.COLUMN_NAME,
acc.POSITION,
'No Index' Problem
from dba_cons_columns acc,
dba_constraints ac
where ac.CONSTRAINT_NAME = acc.CONSTRAINT_NAME
and ac.CONSTRAINT_TYPE = 'R'
and acc.OWNER not in ('SYS','SYSTEM')
and not exists (
select 'TRUE'
from dba_ind_columns b
where b.TABLE_OWNER = acc.OWNER
and b.TABLE_NAME = acc.TABLE_NAME
and b.COLUMN_NAME = acc.COLUMN_NAME
and b.COLUMN_POSITION = acc.POSITION)
order by acc.OWNER, acc.CONSTRAINT_NAME, acc.COLUMN_NAME, acc.POSITION
오라클자바커뮤니티에서 설립한 개발자교육6년차 오엔제이프로그래밍 실무교육센터(오라클SQL,튜닝,힌트,자바프레임워크,안드로이드,아이폰,닷넷 실무개발강의)
[개강확정강좌]오라클자바커뮤니티에서 운영하는 개발자 전문교육 ,개인80%환급(www.onjprogramming.co.kr)
[주말]
[10/26]C#,ASP.NET마스터
[10/26]Spring3.X, MyBatis, Hibernate실무과정
[10/27]JAVA&WEB프레임워크실무과정
[평일야간]
[10/17]SQL초보에서실전전문가까지
[10/22]자바초보에서안드로이드까지
[10/25]C#,ASP.NET마스터
[10/25]Spring3.X, MyBatis, Hibernate실무과정
[주간]
[10/21]Spring3.X, MyBatis, Hibernate실무과정
[주말]
[10/26]C#,ASP.NET마스터
[10/26]Spring3.X, MyBatis, Hibernate실무과정
[10/27]JAVA&WEB프레임워크실무과정
[평일야간]
[10/17]SQL초보에서실전전문가까지
[10/22]자바초보에서안드로이드까지
[10/25]C#,ASP.NET마스터
[10/25]Spring3.X, MyBatis, Hibernate실무과정
[주간]
[10/21]Spring3.X, MyBatis, Hibernate실무과정
댓글 없음:
댓글 쓰기