전체 글
-
-
-
-
-
파티셔닝데이터베이스 2021. 7. 4. 20:18
파티셔닝 : 테이블 또는 인덱스 데이터를 파티션 단위로 나눠 저장하는 것. 테이블 또는 인덱스를 파티셔닝하면 파티션 키에 따라 물리적으로는 별도의 세그먼트에 데이터를 저장한다. * 관리적 측면 : 파티션 단위 백업, 추가, 삭제, 변경 * 성능적 측면 : 파티션 단위 조회 및 DML 수행, 경합 및 부하 분산 파티셔닝은 우선 관리 측면에서 많은 이점이 있다. 보관주기가 지난 데이터를 별도 장치에 백업하고 지우는 은 데이터베이스 관리자들의 일상적인 작업이다. 만약 파티션 없이 대용량 테이블에 이런 작업을 수행하려면 시간도 오래 걸리고 비효율적이다. 대용량 테이블에 인덱스를 새로 생성하거나 재생성할 때도 파티션 기능을 이용하면 효과적이다. 성능 측면에서 효용성도 매우 좋다. 데이터를 빠르게 검색할 목적으로 ..
-
-
소트 튜닝데이터베이스 2021. 6. 29. 22:12
1. 소트와 성능 가. 메모리 소트와 디스크 소트 SQL 수행 도중 소트(Sort) 오퍼레이션이 필요할 때마다 DBMS는 정해진 메모리 공간에 소트 영역(Sort Area)을 할당하고 정렬을 수행한다. 1장에서 말했다시피 Oracle은 소트 영역을 PGA(Private Global Area) 영역에 할당하고, SQL Server 는 버퍼 캐시에 할당한다. 소트에 필요한 메모 공간이 부족하면 디스크를 사용하는데, 이 영역을 Oracle 은 Temp Tablespace 라 하고, SQL Server 는 tempdb 라고 한다. 가능하면 메모리의 소트영역에서 데이터 정렬 작업을 끝내는 것이 좋지만, 많은 데이터를 정렬할 때는 어쩔 수 없이 디스크 공간을 사용해야 한다. 특히 전체 대상 집합을 디스크에 기록했다..
-
쿼리변환 Query TransFormation데이터베이스 2021. 6. 25. 22:09
1. 쿼리변환이란? 2. 서브쿼리 Unnesting 3. 뷰 Merging 4. 조건절 Pushing 5. 조건절 이행 6. 불필요한 조인 제거 7. OR 조건을 Union 으로 변환 8. 기타 쿼리변환 1. 쿼리변환이란? 옵티마이저가 SQL 을 분석해 의미적으로 동일하면서 더 나은 성능이 기대되는 형태로 재작성하는 것을 말한다. 이는 본격적으로 실행계획을 생성하고 비용을 계산하기에 앞서 사용자 SQL 을 최적화에 유리한 형태로 재작성하는 것으로서, DBMS 버전이 올라갈 수록 종류가 더 다양해짐은 물론 더 적극적인 시도가 이루어지고 있다. 비용기반 옵티마이저의 서브 엔진으로 Query TransFormer, Estimator, Plan Generator 가 있다고 했는데 Query TransFormat..