Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon 인덱스 스캔과 테이블 스캔의 I/O 작업 비용은 어떻게 다른가요?


인덱스 스캔과 테이블 스캔의 I/O 작업 비용은 어떻게 다른가요?


I/O 작업 비용은 여러 면에서 인덱스 스캔과 테이블 스캔 간에 다릅니다.

인덱스 스캔

1. I/O 작업 비용: 인덱스 스캔은 일반적으로 I/O 작업 측면에서 더 효율적입니다. 일반적으로 전체 테이블보다 작은 인덱스만 읽으면 되므로 디스크 액세스 횟수가 줄어듭니다.

2. I/O 비용: 인덱스 스캔의 I/O 비용은 인덱스가 더 작고 더 빨리 읽을 수 있기 때문에 일반적으로 더 낮습니다.

3. CPU 비용: 인덱스가 더 체계화되고 더 효율적으로 검색될 수 있기 때문에 인덱스 스캔에 대한 CPU 비용은 일반적으로 더 낮습니다.

4. 총 운영자 비용: 인덱스 스캔에 대한 총 운영자 비용은 I/O 및 CPU 비용을 포함하므로 일반적으로 더 낮습니다.

테이블 스캔

1. I/O 작업 비용: 테이블 스캔은 일반적으로 I/O 작업 측면에서 효율성이 떨어집니다. 전체 테이블을 읽어야 하므로 더 많은 디스크 액세스가 발생할 수 있습니다.

2. I/O 비용: 테이블 스캔의 I/O 비용은 테이블이 더 크고 더 많은 디스크 액세스가 필요하기 때문에 일반적으로 더 높습니다.

3. CPU 비용: 테이블이 더 크고 더 많은 처리가 필요하기 때문에 테이블 스캔에 대한 CPU 비용은 일반적으로 더 높습니다.

4. 총 운영자 비용: 테이블 스캔에 대한 총 운영자 비용은 I/O 및 CPU 비용을 포함하므로 일반적으로 더 높습니다.

결론

요약하자면, 인덱스 스캔은 일반적으로 테이블 스캔에 비해 I/O 작업 및 CPU 사용량 측면에서 더 효율적입니다. 그러나 둘 사이의 선택은 쿼리와 데이터베이스의 특정 요구 사항과 제약 조건에 따라 달라집니다.

인용:
[1] https://www.ibm.com/docs/en/db2/11.5?topic=methods-data-access-through-index-scans
[2] https://stackoverflow.com/questions/8702905/table-scan-and-index-scan-in-sql
[3] https://dba.stackexchange.com/questions/250474/shouldnt-operator-cost-at-least-be-as-large-as-i-o-or-cpu-cost-that-comprises-i
[4] https://forums.oracle.com/ords/r/apexds/community/q?question=cost-of-a-full-table-scan-is-less-than-an-index-unique-scan -1453
[5] http://venkatsqlinterview.blogspot.com/2011/05/difference-between-index-scan-and-index.html