강의

멘토링

커뮤니티

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

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

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

So sánh Full Scan và Random IO

random i/o와 full scan 문제 질문

Viết

·

149

0

위에 조건에서 random i/o와 full scan 모두 디스크 i/o 로 가정했다고 하면 적게 블록을 읽은 random i/o 가 더 빠른게 아닌가요?

해당 설명이 인덱스에서 백만건 레코드를 찾았을 경우를 뜻하는 건지 모르겠습니다

oracledbms/rdbms

Câu trả lời 3

0

newbyd님의 프로필 이미지
newbyd
Người đặt câu hỏi

안녕하세요. 답변 감사합니다. 말씀하신 기하급수적으로 늘어난다는 것이 하드디스크 상에서 데이터를 읽을 때 full scan 시 연속적인 block 을 읽기 때문에 block 이 띄어져 있는 random i/o 보다 빠르다는 말씀이신건가요?

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

네, 맞습니다, 그리고 강의에서 말씀드린 대로 HDD가 random I/O를 하려면 full scan 보다 움직이는 동작 소모가 많습니다. 그래서 시간이 오래 걸립니다.

0

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

안녕하십니까,

random I/O로 십만 블록을 Access하면 시간이 크게 소모 됩니다. Random I/O는 1 block시 읽어 오는데 시간이 많이 걸립니다. random I/O 1,000 Block, Full scan으로 십만 블록을 읽는 다면 random I/O가 더 빠를 수 있지만, random I/O 가 십만 블록으로 늘어나면 I/O 시간이 기하 급수적으로 늘어 납니다.

하지만 Full Scan은 십만 블록에서 천만 블록으로 늘어나도 random I/O의 시간만큼 기하급수적으로 늘어나지 않습니다. 그래서 random I/O 십만 블록을 읽는 것 보다 Full scan 천만 블럭을 읽는 것이 더 수행 시간이 빠릅니다.

감사합니다.

0

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

질문하신 내용에 대해 관련된 설명과 답변을 드리고자 합니다. Random I/O와 Full Scan은 두 가지 주요한 디스크 I/O 방식으로, 각기 다른 성능 특성을 가집니다.

먼저, Random I/O는 주로 인덱스를 통해 데이터를 찾는 방식으로, 필요한 데이터 블록을 불규칙하게 접근합니다. 이는 디스크의 물리적 위치에 따라 I/O 시간이 달라지며, 수많은 작은 범위의 데이터 접근 시 성능이 저하될 수 있습니다.

반면, Full Scan은 대량의 데이터를 한 번에 읽어 들이는 방식으로, 주로 테이블 전체를 스캔합니다. 이는 대량의 연속된 데이터를 빠르게 읽어 들이기 때문에, 특정 상황에서 Random I/O보다 효율적일 수 있습니다. 특히, 대용량 데이터 처리는 Sequential I/O(Full Scan) 방식을 통해 이루어지면 디스크 헤드 이동이 최소화되며, 이로 인해 더 효율적일 수 있습니다.

질문에 언급하신 “백만 건 레코드” 문제에서는, Full Scan이 한 번에 대량의 데이터를 읽어 들이는 읽기 속도가 Random I/O에 비해 유리할 수 있습니다. 이는 대량의 데이터 처리가 필요한 상황에서 Full Scan이 적합한 이유 중 하나입니다.

관련된 추가 설명을 위해 두 유사한 게시물 링크를 추천해드립니다:

  1. Sequential Acess는 HDD상에서도 Block을 Sequential하게 읽나요?
  2. 서버 프로세스의 i/o 접근 방법?

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

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

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

Đặt câu hỏi