강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của sunkyungbaek4946
sunkyungbaek4946

câu hỏi đã được viết

Oracle hiệu suất phân tích và điều chỉnh phiên bản chính yếu hướng dẫn

Cấu trúc chi tiết Library Cache

table full scan과 index_ffs 성능비교

Viết

·

98

0

안녕하세요 강사님

덕분에 강의 잘 듣고 있습니다

table full scan과 index_ffs 성능 비교 시

index_ffs 가 크기가 작아서 무조건 더 빠를 것이라고 생각했는데요

table full scan 시 direct i/o가 발생하여

index_ffs 보다 더 빠른 경우도 생길 수 있는건가요?

oracledbms/rdbms

Câu trả lời 2

1

dooleyz3525님의 프로필 이미지
dooleyz3525
Người chia sẻ kiến thức

안녕하십니까,

주말에 일이 있어서 답변이 늦었습니다.

table full scan이 index fast full scan 보다 빠른 경우는 거의 없을 것 같습니다. index ffs는 full scan 뿐만 아니라, 사이즈가 크면 direct io 까지 수행합니다. index 크기가 table 크기보다 크지 않으면(아주 예외적인 경우) index ffs가 더 빠릅니다.

 

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다. sk님.

질문하신 내용에 대해 답변을 드리겠습니다. Table Full Scan과 Index Full Scan (index_ffs) 간의 성능 비교는 매우 상황에 따라 다를 수 있습니다. 일반적으로 생각하기에 index_ffs가 블록 사이즈가 작아 빠를 것 같지만, 다음과 같은 상황에서는 성능 차이가 다르게 나타날 수 있습니다.

  1. Direct I/O: Table Full Scan은 Direct Path Read를 사용할 수 있습니다. 이 방식은 대량의 블록 데이터를 한 번에 읽어 오기 때문에 속도에서 이점이 있을 수 있습니다. Direct Path Read는 데이터가 버퍼 캐시를 우회하여 직접 데이터 파일에서 읽어들일 수 있도록 하여 I/O 효율성을 높일 수 있습니다.

  2. Multi-block Read Count: Table Full Scan의 경우 다중 블록을 한 번에 읽는 방식으로 진행되기 때문에 I/O 성능을 극대화할 수 있습니다. 반대로, 인덱스를 사용하면 랜덤 I/O가 발생할 수 있으므로 성능이 저하될 수 있습니다.

  3. 테이블과 인덱스의 크기 및 사용 빈도: 작은 크기의 테이블이나 자주 접근되는 것은 캐시 효율성이 증가할 수 있으므로 인덱스의 성능 차이가 크게 나타날 수 있습니다.

이 주제를 더 깊이 이해하시려면 아래 링크를 참조하시면 좋겠습니다:
- full scan 시 OS I/O 질문있습니다.
- Sequential Acess는 HDD상에서도 Block을 Sequential하게 읽나요?

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Hình ảnh hồ sơ của sunkyungbaek4946
sunkyungbaek4946

câu hỏi đã được viết

Đặt câu hỏi