본문 바로가기

전체 글231

SQL튜닝 Oracle trace 파일 만들기 trace 파일은 메모리, 블럭 등에서 쓰이는 자세한 정보들을 볼 수 있다. iniSID.ora 내에 '_trace_filespublic = true; UNIX> conn /as sysdba show parameter spfile show parameter pfile show parameter user_dump_dest 위에 show 를 검색하여 tace 파일이 떨어지는 경로를 확인 할수 있다. /DBA2/dba06/admin/dba06/udump --alter session set events '10046 trace name context forever, level 12'; //로즈 정보 까지 볼수있다. alter session set tracefile_identifier = 'kyn'; //trace.. 2021. 1. 2.
SQL튜닝 Oralce INDEX SCAN-> FULL TABLE SCAN 튜닝 "index만 탄다고 무조건 좋은건 아니다." 를 보여주는 예제 set timing on //실행시간을 본다 alter session set optimizer_mode = rule; //룰베이스로 동작 시킨다 set autotrace on // 실행계획 보기 SELECT course_code, nvl(SUM(decode(year,'1999',deposit_amount)),0) Y1999, nvl(SUM(decode(year,'2000',deposit_amount)),0) Y2000, nvl(SUM(decode(year,'2001',deposit_amount)),0) Y2001, nvl(SUM(decode(year,'2002',deposit_amount)),0) Y2002 FROM EC_APPLY WHER.. 2021. 1. 1.
인덱스 리빌드(index rebuild) 성능개선의 원리!! 인덱스 리빌드의 이유 인덱스 파일은 생성후에 DML 을 만복하다보면 성능이 저하됨. 생성된 인덱스는 트리구조를 가지는데 DML 반복하다보면 트리의 한쪽이 무거워져 전체적인 트리의 깊이가 깊어짐. 첫번째 블럭 : 1 2 3 4 5 두번째 블럭 : 3 4 5 첫번째 블럭에서 3 4 5 를 delete문을 수행하면 논리적으로만 삭제임 다시 쓰면 인덱스에서 3 4 5 자리는 물고 있어서 다음 블럭에 3 4 5를 쓴다. 그래서 더 안 좋다. "인덱스리빌더"를 통해서 물고 있는 부분 회수가 가능하다 인덱스 리빌더 하면 성능이 호전되는 이유는 그것이라고 해요. 인덱스 리빌드의 구분 alter index "owner.index_name" rebuild; 작업이 완료된후 쿼리수행해서 index 가 조회되는.. 2021. 1. 1.