Oracle/튜닝

FULL TABLE SCAN

pbj1102 2022. 2. 10. 15:57
반응형

FULL TABLE SCAN 

 : 테이블에 할당된 첫번째 블록부터 HWM 아래의 모든 블록을 읽음

 : 1회의 I/O에 대해서 여러 개의 블록을 읽음 

 : DB_FILE_MULTIBLOCK_READ_COUNT 파라메터로 한 번에 읽어야 할 블록의 개수를 지정

 

 

SELECT NAME, VALUE, ISSYS_MODIFIABLE   FROM V$PARAMETER 
WHERE NAME = 'db_file_multiblock_read_count';

 
NAME                                VALUE      ISSYS_MODIFIABLE
db_file_multiblock_read_count       128     IMMEDIATE

=> 1회의 I/O 당 128개의 블록을 읽음, 시스템과 OS 따라 달라짐

=> ISSYS_MODIFIABLE=IMMEDIATE 재기동 없이 바로 적용 가능,

 

   * 재기동 없이 바로 적용이 가능하지만, 해당 수치를 늘리게 될 경우, 기존에 Index 를 타던 SQL이 FULL 로 바뀌는 경우가 발생 할 수 있으므로 충분한 테스트 후에 변경해야함

 

 

 

 

 

실습)

- 실습계정 tuning 로그인 하여 아래와 같이 실행

select /*+ gather_plan_statistics */ * from PRODUCTS;

 

PLAN 확인

 select * from table(dbms_xplan.display_cursor(null,null,'TYPICAL ALLSTATS LAST'));

 

SQL_ID  14xd1av5tdc8f, child number 0
-------------------------------------
select /*+ gather_plan_statistics */ * from PRODUCTS
 
Plan hash value: 1954719464
 
---------------------------------------------------------------------------------------------------------------------------------
| Id  | Operation         | Name     | Starts | E-Rows |E-Bytes| Cost (%CPU)| E-Time   | A-Rows |   A-Time   | Buffers | Reads  |
---------------------------------------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT  |          |      1 |        |       |    96 (100)|          |   1000 |00:00:00.01 |     345 |    335 |
|   1 |  TABLE ACCESS FULL| PRODUCTS |      1 |   1000 | 20000 |    96   (0)| 00:00:01 |   1000 |00:00:00.01 |     345 |    335 |
---------------------------------------------------------------------------------------------------------------------------------

=> PRODUCTS 테이블을 FULL SCAN 한 결과, 1000건의 ROWS 와, Buffer 345개를 사용한 것을 확인 할 수 있다. 

반응형

'Oracle > 튜닝' 카테고리의 다른 글

INDEX UNIQUE SCAN  (0) 2022.02.10
B-Tree 인덱스 구조  (0) 2022.02.10
실행계획 순서분석  (0) 2022.01.28
DISPLAY_CURSOR  (0) 2022.01.28
CBO, 테이블 통계, 인덱스 통계  (0) 2022.01.28