인덱스3 [SQL] 인덱스 활용이 불가능한 경우 인덱스 스캔을 하면 무조건 빠른가 ? // NO 조건에 의한 처리범위가 넓어짐으로 인해 분포도가 나빠지는 경우가 있는데 이 경우 인덱스 스캔을 하는 것 보다는 FULL TABLE SCAN을 하는 것이 바람직함 -> FULL TABLE SCAN시엔 한 번의 I/O때 마다 여러 개의 데이터 Blocks을 처리하기 때문에 I/O횟수가 감소하게 됨 한 번의 I/O 4 Block Access Fast DB_FILE_MULTIBLOCK_READ_COUNT=4 // 10 ~ 15% 이상 : 효율적 인덱스 사용이 불가능한 경우 1) NOT 연산자 사용 2) IS NULL, IS NOT NULL 사용 3) 옵티마이저의 취사 선택 4) External suppressing 5) Internal suppressing 옵티마.. 2021. 11. 23. [SQL] 옵티마이저의 개념 및 종류와 인덱스 1. 옵티마이저의 개념 - 사용자가 실행한 SQL을 해석하고 데이터를 추출하기 위한 실행계획을 수립하는 프로세스 2. 옵티마이저의 종류 RBO - 규칙기준 옵티마이저는 인덱스 구조나 사용하는 연산자에 따라 부여되는 순위가 정해져 있음 CBO - 대상 ROWS를 처리하는데 필요한 자원사용을 최소화해서 데이터를 빨리 처리하는데 목적이 있음 3. 옵티마이저 레벨별 설정 데이터베이스 전체에 지정 [initSID.ora를 이용해서 지정] OPTIMIZER_MODE=[RULE/CHOOSE/FIRST_ROWS/ALL_ROWS] 세션별로 지정 SQL > ALTER SESSION SET OPTIMIZER_MODE = [RULE/CHOOSE/FIRST-ROWS/ALL-ROWS] 각 SQL 별로 지정 SQL > SELECT.. 2021. 11. 9. SQL 개념 정리 데이터베이스 - 데이터 파일과 로그 파일로 구성됨 - 데이터 파일 : mdf,ndf 확장자 - 로그 파일 : ldf 확장자 - 다양한 형태의 개체 포함 (테이블,인덱스,프로시저,트리거,함수) 테이블 - 데이터베이스 내의 존재하는 대표적인 개체 (데이터를 가지고 있다.) - 시스템 테이블 & 사용자 테이블 - 실제 데이터를 물리적으로 포함하고 있음 - 행과 열로 구성 됨 페이지 - 페이지 파일을 구성하는 논리 단위 - SQL Server의 기본 데이터 저장단위(8KB) - 데이터를 쓸 때 행을 페이지에 기록함 - 데이터를 읽을 때(SELECT) 페이지 내의 모든 행이 읽혀짐 - 페이지 내의 행이 많을수록 I/O 효율 증가 - 0 ~ N 사이의 순차적인 번호를 가짐 (페이지 번호) 레코드 100개를 읽어야 .. 2021. 10. 20. 이전 1 다음