× - 코드 및 콘솔 화면은 [ code ] 내용 [ /code ] 태그 처리하여 주세요.
- 강조하고자 하는 내용은 [ b ] 내용 [ /b ] 태그 처리하여 주세요.

귤귤님께 질문드립니다~ (듀얼 테이블과 풀 스캔)

  • j590924
    (주민정)
  • j590924's Avatar 이 글의 작성자
  • Offline
  • Newbie
  • Newbie
더보기
20 Jan 2017 14:58 #1849 작성자: j590924
j590924 님의 글: 귤귤님께 질문드립니다~ (듀얼 테이블과 풀 스캔)
우선 어제 명강의 정말 감사드려요~ 실전에서 우러나온 내공의 깊이를 느낄 수 있었어요!

저는 얄팍한 지식으로 오라클을 조금 다루고 있는데 어제 들으면서 궁금한거도 있구해서 질문을 드림니다.

하나는 어제 질문 중에 나온 듀얼 테이블인데 저는 가끔 문자열 리턴받으려구 습관적으로 듀얼 테이블을 쓰긴해요. 근데 정확히 이 듀얼 테이블이 무슨 용도인지는 잘 모릅니다:( 듀얼 테이블에 대해 쉽게 설명해주시면 감사하겠습니다~

또 하나는 풀 스캔에 대한 것인데요,, 예전 어떤 dba님께 행수가 적으면 굳이 인덱스를 안써도 된다구 들었어요. 그러면 그 기준이 대충 어느 정도 되는지, 그런게 있을까요? 몇 행 이하 정도면 그냥 풀스캔이 낫다, 등등요. 이번 기회에 제 궁금증이 해소되길 기대하며~~
더보기
25 Jan 2017 17:20 - 25 Jan 2017 17:23 #1879 작성자: cha00
cha00 님의 답글: 귤귤님께 질문드립니다~ (듀얼 테이블과 풀 스캔)
음.. 저도 지식이 얕은지라..

dual table은 그냥.. 검색해보니(^^) dummy table이고.. 한번만 출력하고 싶을때 쓰는거라고 하네요.
그냥 제 생각은.. 오라클에서 dual테이블이 자주 나오는 것은.. 오라클이 from절 없이 select절만 쓰는걸 허용 안해서가 아닌가 합니다.
다른 db는 select * from (select 1+2 union select 2-1) a; 라고 해도 결과가 나오거든요.

full scan이 낫다는 것은..
1000건 데이터 중에 100건 데이터를 가져온다고 가정하면..
인덱스를 타고 100건 가져오려면 .. 인덱스에서 rowid 읽어서 single block I/O하면.. 운이 없으면 100번 I/O가 일어날수도 있고...
인덱스가 없어서 full scan한다고 하면... 1000건 데이터가 오밀조밀하게 몇 블럭안에 다 들어있다면... 거기다가 multi block I/O도 셋팅되어서 한번에 여러 block씩 읽어올수 있다고 하면.. 한두번 I/O로 다 읽어올수 있기 때문에 빠르다.. 그런 얘기지요.
제가 몇행이하면 full이 낫다고 가이드할만큼 지식이 높지는 않아서.. ^^;;
서버 사양과 시스템성격(집계성인지)에 따라.. 적당히 쓰셔야 할듯 합니다.
대부분의 데이터를 읽어서 값을 구하는 DW성 시스템은 거의 full scan이 더 빠릅니다.

도움이 되시려나요..^^
  • j590924
    (주민정)
  • j590924's Avatar 이 글의 작성자
  • Offline
  • Newbie
  • Newbie
더보기
26 Jan 2017 01:47 #1882 작성자: j590924
j590924 님의 답글: 귤귤님께 질문드립니다~ (듀얼 테이블과 풀 스캔)
상세한 답변 감사드립니다~~ 설 연휴 잘 보내세요~
Time to create page: 0.055 seconds
Powered by Kunena Forum