살아가는 이유_EU
내가 살아가는 이유, 삶
살아가는 이유_EU
전체 방문자
오늘
어제
  • 삶 (159)
    • 이유's EATERY (16)
      • 맛집 (10)
      • 까페 (4)
      • 맛있는 Recipe (1)
    • 이유's LIFE (16)
      • 국내여행 (5)
      • 해외여행 (2)
      • 운동 (1)
      • 취업정보 (0)
      • 끄적끄적 (5)
      • 일기쟝 (3)
      • 세상 이야기 (0)
      • 결혼 준비 (0)
    • 이유's Programming (43)
      • JavaScript (6)
      • Java (7)
      • C++ (0)
      • DBMS (24)
      • Spring (3)
      • til (1)
      • HTTP (2)
    • 이유's REVIEW (13)
      • BOOK (6)
      • PROGRAM or MOVIE (5)
      • PRODUCT 제품리뷰 (2)
    • 이유's STUDY (31)
      • 수업 관련 (2)
      • IT 시사 (2)
      • IT NEWS (2)
      • IVIEW (0)
      • IOS 앱 만들기 (0)
      • 알고리즘 문제풀이 (23)
      • PM data literacy (2)
    • 이유's ENGLISH (13)
      • Writing about something! (12)
      • Feedback (1)
      • TIL (0)
    • 이유's DB 공부 (1)
      • MySQL DB (0)
      • Postgre (1)
    • Computer 공부 (17)
      • Backend question (10)
      • Clean architecture (2)
      • Operating system (2)
      • Network (3)
      • 항해 (0)

블로그 메뉴

  • 홈
  • EATERY's 맛집
  • CAFE 까페
  • Recipe 레시피
  • IT 공부
  • 방명록
  • 태그

공지사항

인기 글

태그

  • 용인추천
  • 스쿤브레드
  • 자바스크립트
  • 송계옥
  • 맛집
  • 묵리
  • 용인까페
  • 인절미 티라미수
  • 고메커피
  • Array로 접근
  • have something to do with뜻
  • 자세요정
  • 피지오필로소피
  • have something to do with
  • 삼돈식탁
  • 현명하게 리액트
  • 용인맛집
  • key 로 접근
  • 파스타맛집
  • go hand in hand
  • map 하는 법
  • React.memo
  • memoziation
  • 아메리카토노
  • 고메동 카페
  • 스테이크
  • 어게인마이라이프
  • 흑임자 크림
  • 영어공부
  • 렌더링 수 줄이기

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
살아가는 이유_EU

내가 살아가는 이유, 삶

이유's Programming/DBMS

index 잘 타지 못하는 경우

2025. 1. 15. 19:27
728x90
반응형

[ 인덱스 ] 

- clustering factor 를 잘 확인하고 cardinality 를 확인해서 이제 이슈를 해결해보자 

- 인사정보 조회데이터에서 이제 [이름], [조직명] 에 대한 데이터를 이제 운영 

 

 

 

1) 통계정보의 불확실성

QueryOptiizer 는 SQL 의 실행계획을 수립하는 과정에서 통계쩡보를 활용한다

하지만 통계쩡보 데이터가 테이블에 대한 부정확한 데이터로 구성되어 있으면 이제 인덱스의 사용이 효율적인데도 불구하고 잘못계산된 Cardinality 에 의해 Table full scan 이 효율적인 수행이라고 판단할 수 잇따.

 

2) 인덱스 컬럼의 데이터 형 변환 

Dictionary view 중 all tab columns 에서 확인 가능하다. 

이제  toDV 등에 대해서 형변환이 이루어지면 인덱스를 잘 타지 못하는 경우이다. 

 

Clustering Factor는 데이터베이스에서 테이블에 저장된 데이터와 인덱스가 물리적으로 얼마나 잘 정렬되어 있는지를 나타내는 지표입니다. Clustering Factor가 낮을수록 데이터가 인덱스와 동일한 순서로 정렬되어 있어 성능이 좋습니다.

Clustering Factor를 확인하는 방법은 데이터베이스 시스템에 따라 다릅니다. 주로 사용되는 데이터베이스(MySQL, Oracle, PostgreSQL)별로 설명하겠습니다.

 

 

  • 인덱스 설계: 카디널리티가 높은 컬럼(고유 값이 많은 컬럼)에 인덱스를 생성하면 검색 성능이 향상될 수 있습니다. 반면, 카디널리티가 낮은 컬럼(중복 값이 많은 컬럼)에 인덱스를 생성하면 성능 향상에 큰 도움이 되지 않을 수 있습니다.
  • 추천 : 네이버 블로그
  • 쿼리 최적화: 데이터의 중복 정도를 파악하여 효율적인 쿼리 계획을 수립하는 데 도움이 됩니다.

 

 

1. 쿼리 패턴 분석 및 인덱스 재설계

  • 쿼리 로그 분석: 성능 저하를 유발하는 쿼리 패턴을 식별하기 위해 데이터베이스의 쿼리 로그를 분석했습니다.
  • 주요 필드 인덱스 선정: WHERE 조건, JOIN, GROUP BY, ORDER BY 절에서 자주 사용되는 필드에 대해 적합한 인덱스를 설계했습니다.
  • 복합 인덱스 도입: 단일 컬럼 인덱스 대신, 자주 조합되는 컬럼을 대상으로 복합 인덱스를 생성하여 불필요한 데이터 스캔을 줄였습니다.

2. 클러스터형 인덱스 최적화

  • 클러스터형 인덱스 활용: 데이터를 정렬된 상태로 저장하는 클러스터형 인덱스를 테이블의 주요 검색 조건에 따라 재구성하여, 검색 속도를 높였습니다.
728x90
반응형
저작자표시 비영리 변경금지 (새창열림)

'이유's Programming > DBMS' 카테고리의 다른 글

SQL server profiler  (0) 2025.01.18
library cache - latch: cache buffers chains  (0) 2025.01.17
database paraellel 관리  (0) 2025.01.15
DBMS 의 구조를 파악해보자  (0) 2024.10.16
인덱스.. 그래서 어떻게 해야 효율적이야? (필터조건, 액세스 조건)  (0) 2024.10.16
    '이유's Programming/DBMS' 카테고리의 다른 글
    • SQL server profiler
    • library cache - latch: cache buffers chains
    • database paraellel 관리
    • DBMS 의 구조를 파악해보자
    살아가는 이유_EU
    살아가는 이유_EU
    안녕하세요. 초보개발자의 일상을 담은 블로그입니다.

    티스토리툴바