• Daum
  • |
  • 카페
  • |
  • 메일
  • |
 
카페정보
카페 프로필 이미지
닷넷 (.NET) 프로그래머 모임
 
 
 
카페 게시글
데이터베이스 질문 [Oracle] 룩업테이블의 pk(primary key)는 어디에?
허기진 추천 0 조회 119 07.08.02 16:30 댓글 6
게시글 본문내용
 
다음검색
댓글
  • 07.08.02 19:14

    첫댓글 두개다 해보시구 실행계획, 프로파일러등을 이용해서 시간을 확인해보시라고 할거 같은데..

  • 작성자 07.08.03 09:32

    눼. -_ㅡㅋ 혹시나 설명을 쫌 들을수 있을까 해서 올려본 질문이었다는 ...

  • 07.08.03 10:24

    일반적으로는 코드에다가 PK를 거는것이 일반적입니다. 나중에 코드명이 바뀌어 버리면 명이 다 엉켜버리기때문에 코드에다가 걸어서 명이 바뀌어도 저절로 바뀌는 걸로 나오게 하죠. 그리고 조회속도는 오라클처럼 힌트라는것이 없기 때문에 ms-sql은 옵티마이져가 최적의 실행계획을 뽑아서 실행합니다 코드에다가 PK를 걸면 어떻게 쿼리문을 짜든 속도는 똑같습니다. PK를 거는 위치에 따라서 실행 속도가 달라집니다. 최적의 PK는 저걸봐서는 알수 없지만. 일반적으로 유지보수나 관리 측면에서 코드에 거는것이 일반적입니다. ..... 라고 말씀 드리고 위 내용은 어디까지나 일반적으로 그렇다는겁니다.

  • 작성자 07.08.03 11:44

    답변 감사합니다. 위 게시글 머리말에 있듯이 "오라클"의 경우이구요. "룩업의 대상이 되는 코드명에 PK를 걸고 집계테이블과 조인이 되는 코드에 인덱스를 거는 것이 집계속도가 빨랐다"라고 해서 궁금했었습니다. 하나의 집계테이블을 중심으로 위와 같이 조인이 걸리는 룩업 테이블이 대략 150여개이며 어떤 룩업테이블은 AND 조건으로 또 어떤 룩업테이블은 OR 조건으로 쿼리를 날리거든요.

  • 07.08.03 13:19

    아 오라클이군요.. ㅋ 저 글자를 못 읽었다는..ㅋ 제가 알기로는 varchar PK 가 제일 빠른걸로 알고 있는데요.. 그리고 어떤 코드컬럼이랑 조인 거는 것이 중요하기보다는 마스터 드라이브 테이블이 어떤거냐에 따라서 속도 차이가 발생할꺼에요..

  • 작성자 07.08.06 22:14

    답변 감사드립니다. 많은 참고가 되었습니다.

최신목록