여기서 인덱스 키 값은 F나 M이 존재하는데 다른 키 값이 존재할 수도? 있다고 생각하고 1번 노드를 먼저 스캔한다는 게 무슨 말인지 모르겠어. 브랜치 노드 키 값에는 이미 F나 M만있는 게 아니라는 건가?
[일반] 이문제 궁금한 거 있는데
익명(211.234)
2025-04-29 12:02
추천 0
댓글 12
다른 게시글
-
토스증권: Nasdaq Smart Options 구현 with AWS[일반] bill(oioos) | 25.04.29추천 3
-
임베디드 직무 변경 고민 [13][질문] 익명(1.231) | 25.04.29추천 0
-
실서비스 중인 사이트있는데 php로 만든것도 이력서에 넣어도되냐 [10][일반] 익명(211.206) | 25.04.29추천 0
-
개웃기네 [7][일반] 딘퐁(gunwoo7193) | 25.04.29추천 0
-
대기열서버랑 마스터슬레이브 해보셈 [1][일반] 딘퐁(gunwoo7193) | 25.04.29추천 0
-
대부분의 중소규모 트래픽은 DB로 처리가능하지? [4][일반] 스프링어린..(valid9044) | 25.04.29추천 0
-
걍 뭐라도 쳐해[일반] 익명(211.235) | 25.04.29추천 0
-
모놀리틱해보면알아 [5][일반] 익명(59.14) | 25.04.29추천 0
-
연봉 3800 ㅁㅌㅊ? [2][일반] 익명(125.251) | 25.04.29추천 1
-
너희들은 자고있지? [8][일반] 웃스음(112.168) | 25.04.29추천 0
이 댓글은 게시물 작성자가 삭제하였습니다.
varchar나 char 타입이면 다른값이 들어있을수 있잖아 사람은 다른값없는걸 알지만 프로그램이 어떻게 그걸 알겠냐는거지
아 결국은 옵티마이저가 가지고 있는 통계 정보 때문에 그렇다는 거지? 실제로는 F,M만 있지만 옵티마이저가 다른 게 있을 수도 있다고 추정하고 저런 식의 스캔이 이루어진다는 거지? 어렵네
근데 그건 자료형과 상관없지 않아?
enum(‘F’, ‘M’) 타입이면 정확히 F M 값만 가질 수 있지
해당 댓글은 삭제되었습니다.
설명이 부족하거나 이해가 안가는 부분 댓 ㄱㄱ 너무 길어서 좀 압축해서 설명함
통계 정보는 항상 최신 정보가 아니고 F와 M 이외 다른 성별이 존재할 가능성이 있음 사람이 보기에는 F, M이지만 옵티마이저가 판단할때는 F, M 이외의 다른 데이터가 있는지 없는지 판단을 못해 그래서 항상 첫번째 블록을 뒤져야해 첫번째 블록에서 F라는 유니크한 값을 발견했으면 F, 김철수를 찾을 수 있음 그 성별의 해당하는 값을 찾았기 때문에 그 다음에 F를 가지고 있는 마지막 블록도 뒤져야함 왜? 그 데이터 블록에 F만 있는게 아니기 때문에 다른 유니크한 값이 있을 수 있기 때문에 그래서 1, 3, 5, 6, 8, 10 인거임
이해는 어느 정도 됐어 근데 1.저건 enum 빼고 모든 자료형에서 일어날수 있는지? 2. 통계정보가 매우 정확하다는 가정 하에 저렇게 스캔하지 않는 경우도 존재할 수 있는지? 3. 인덱스 스킵 스캔 이외에도 레인지 스캔 등...에서 일어날 거 같은데 맞는지? 4. 느끼는 점은 인덱스를 이용하는 쿼리에선 저런 스캔이 매우 자주 일어날 거 같은데 맞나?
1. 이건 정확하게는 모르겠는데 아마 enum이여도 찾을거 같아 테이블이 변할수도 있고 또 Enum값을 여러개 정의한 상황에서 무슨 Enum값을 사용하는지 모르잖아 2. 통계정보가 정확하다는 보장을 옵티마이저가 어떻게 알지? 3. 이건 뭔소리인지 모르겠음 더 정확하게 질문 ㄱㄱ 4. 인덱스가 col1, col2로 구성되어있는 인덱스에서 조건문을 col2 = 1 이런식으로 선행 칼럼을 생략할경우 원래 인덱스를 못타는데 탈수있게 하는게 인덱스 스킵 스캔임 물론 이 경우 제외하고도 다른 경우에서도 사용할 수 있는데 자주 사용 일어나는지는 그건 프로그램마다 다르지 않을까?
1. 번 같은 경우는 예를 들어 Enum 값이 (팬티, 브라자, 티팬티)라고 정의되어 있으면 팬티, 브라자만 있을수도 있잖아? 그래서 Enum도 결국 var char 상관없이 동일하게 동작할거 같음
ㅇㅋㅇㅋ 답변 감사용 어렵다 어려유ㅜ