본문으로 이동

힌트 (SQL)

위키백과, 우리 모두의 백과사전.
인쇄용 판은 더 이상 지원되지 않으며 렌더링 오류가 있을 수 있습니다. 브라우저 북마크를 업데이트해 주시고 기본 브라우저 인쇄 기능을 대신 사용해 주십시오.

데이터베이스 쿼리에서 다양한 SQL 구현체들은 데이터베이스 엔진에 쿼리 실행 방법을 지시하는 SQL 표준의 추가분으로서 힌트(hint)를 사용한다. 이를테면 힌트는 엔진에게 가능한 메모리를 덜 쓰도록 지시할 수도 있고(쿼리가 느리게 동작하더라도), 색인의 사용 여부를 알릴 수도 있다(쿼리 최적화에 관계 없이).

구현체

여러 데이터베이스 엔진들은 힌트 구현 시 각기 다른 접근 방식을 사용한다.

  • MySQL은 SQL 표준의 자체 확장을 사용하는데, 테이블 이름 뒤에 USE INDEX, FORCE INDEX , IGNORE INDEX 키워드가 올 수 있다.[1]
  • 오라클은 특별히 제작된 코멘트(comment)를 + 기호로 시작하는 쿼리 안에 사용함으로써 SQL 호환성에 영향을 미치지 않음과 동시에 힌트를 구현한다.[2]
  • Postgres Plus® Advanced Server(엔터프라이즈DB에서 출시된 PostgreSQL의 사유 버전)는 오라클과 동일하게 호환되는 힌트들을 제공한다.[3][4]

같이 보기

참조

  1. MySQL 5.5 Reference Manual: 12.2.9.3 Index Hint Syntax
  2. Mike Ault: Oracle SQL Hints Tuning[깨진 링크(과거 내용 찾기)]
  3. “Postgres Plus Advanced Server Performance and Scalability Guide: Query Optimization Hints”. 2014년 4월 19일에 원본 문서에서 보존된 문서. 2014년 4월 18일에 확인함. 
  4. “Postgres Plus Advanced Server Oracle Compatibility Developer's Guide: Optimizer Hints”. 2014년 4월 19일에 원본 문서에서 보존된 문서. 2014년 4월 18일에 확인함.