MySQL8에서 자주 사용하는 Hint 작업
2690 단어 MySQL
프롬프트 이름
묘사
적용 범위
BKA, NO_BKA
BKA 조인 처리에 영향을 미침
Query block,table
BNL, NO_BNL
MySQL 8.0.20 이전 버전: 블록 중첩 순환에 영향을 주는 연결 처리,MySQL 8.0.18 및 더 높은 버전: 해시 연결 최적화에도 영향을 미친다.MySQL 8.0.20 이상: 해시 조인 최적화에만 영향
Query block,table
DERIVED_CONDITION_PUSHDOWN, NO_DERIVED_CONDITION_PUSHDOWN
물화 파생 테이블 사용 또는 파생 조건 무시 최적화 (MySQL 8.0.22에 추가)
Query block,table
GROUP_INDEX, NO_GROUP_INDEX
GROUP BY 작업에서 색인 검색을 위해 지정된 색인을 사용하거나 무시(MySQL 8.0.20에 추가)
Index
HASH_JOIN, NO_HASH_JOIN
해시 조인 최적화에 영향을 미침(MySQL 8.0.18에만 해당)
Query block,table
INDEX, NO_INDEX
충당하는 그룹 JOININDEX, GROUP_INDEX 및 ORDERINDEX 또는 그룹 NOJOIN_INDEX, NO_GROUP_INDEX 및 NOORDER_INDEX(MySQL 8.0.20)
Index
INDEX_MERGE, NO_INDEX_MERGE
인덱스 통합 최적화에 영향
table,Index
JOIN_FIXED_ORDER
FROM 자문에 지정된 테이블 순서를 연결 순서로 사용
Query block
JOIN_INDEX, NO_JOIN_INDEX
모든 접근 방법에 지정한 인덱스를 사용하거나 무시합니다. (MySQL 8.0.20에 추가)
Index
JOIN_ORDER
프롬프트에서 지정한 테이블 순서를 연결 순서로 사용
Query block
JOIN_PREFIX
알림에 지정한 테이블 순서를 연결 순서의 첫 번째 테이블에 사용합니다
Query block
JOIN_SUFFIX
프롬프트에서 지정한 테이블 순서를 연결 순서의 마지막 테이블에 사용
Query block
MAX_EXECUTION_TIME
문장 실행 시간 제한
Global
MERGE,NO_MERGE
외부 Query Block에 파생 탭/보기 병합
table
MRR, NO_MRR
다양한 읽기 최적화에 영향
table,Index
NO_ICP
색인 조건 하추식 최적화에 영향을 미치다
table,Global
NO_RANGE_OPTIMIZATION
영향 범위 최적화
table,Index
ORDER_INDEX,NO_ORDER_INDEX
지정된 하나 이상의 색인을 사용하여 행을 정렬하거나 무시(MySQL 8.0.20에 추가)
Index
QB_NAME
Query Block에 이름 할당
Query block
RESOURCE_GROUP
문장 실행 중 자원 그룹 설정하기
Global
SEMIJOIN, NO_SEMIJOIN
반접속 전략에 영향을 미치기;MySQL 8.0.17부터 anti-joins에도 적용
Query block
SKIP_SCAN, NO_SKIP_SCAN
스캔 최적화 건너뛰기 영향
table,Index
SET_VAR
문이 실행되는 동안 변수 설정하기
Global
SUBQUERY
물화에 영향을 미치는 IN ~ EXISTS 하위 조회 설정에 대한 대책 검토
Query block
hint 사용법
#
/*+ BKA(t1) */
/*+ BNL(t1, t2) */
/*+ NO_RANGE_OPTIMIZATION(t4 PRIMARY) */
/*+ QB_NAME(qb2) */
SELECT /*+ ... */ ...
INSERT /*+ ... */ ...
REPLACE /*+ ... */ ...
UPDATE /*+ ... */ ...
DELETE /*+ ... */ ...
# hint
SELECT /*+ BNL(t1) BKA(t2) */ ...
2. Index Hints
구문
tbl_name [[AS] alias] [index_hint_list]
index_hint_list:
index_hint [index_hint] ...
index_hint:
USE {INDEX|KEY}
[FOR {JOIN|ORDER BY|GROUP BY}] ([index_list])
| {IGNORE|FORCE} {INDEX|KEY}
[FOR {JOIN|ORDER BY|GROUP BY}] (index_list)
index_list:
index_name [, index_name] ...
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Redash를 사용할 때 몰랐던 SQL을 쓰는 법을 배웠습니다.최근 redash에서 sql을 쓸 기회가 많고, 이런 쓰는 방법이 있었는지와 sql에 대해 공부를 다시하고 있기 때문에 배운 것을 여기에 씁니다. Redash란? 월별로 데이터를 표시하고 싶습니다 주별로 데이터를 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.