반응형
[1] 오라클 힌트 hint
(1) 정의
오라클 힌트 hint
개발자가 DB에 어떤 방식으로 실행해줘야하는지 명시하기 위해 select 문을 전달할때 사용한다
최적의 실행 경로를 작성하여 지시하는 것
(2) 사용법
시작 = /*+
마무리 = */
[2] hint 종류
(1) full 힌트
테이블의 모든 데이터를 스캔한다. 검색 속도가 느리다
SELECT /*+ FULL(tbl_board) */ * from tbl_board order by bno desc;
(2) INDEX_ASC 힌트 / INDEX_DESC 힌트
인덱스 순서대로 또는 역순대로 스캔할것인지 지정한다
SELECT /*+ INDEX_ASC(tbl_board pk_board) */ * from tbl_board WHERE bno > 0
[3] ROWNUM
(1) 정의
어떤 조건에 의해 스캔한 데이터에 일련번호를 메기는 것이다.
어떤 검색방법으로 데이터를 추출했고 , 그 일련번호는 다 다르다
// FULL 힌트 사용
SELECT /*+ FULL(tbl_board) */ rownum rn, bno, title from tbl_board
WHERE bno>0 order bybno;
// INDEX_ASC 힌트 사용 SELECT /*+ INDEX_ASC(tbl_board pk_board) */ rownum rn, bno, title
from tbl_board
// INDEX_DESC 힌트 사용
SELECT /*+ INDEX_DESC(tbl_board pk_board) */ rownum rn, bno, title from tbl_board
WHERE bno >0;
// 범위의 데이터를 찾을때 1을 반드시 포함한다 ( rownum >10 and rownum <20 오류가남)
SELECT /*+ INDEX_DESC(tbl_board pk_board) */ rownum rn, bno, title ,content
from tbl_board WHERE rownum <10;
SELECT /*+ INDEX_DESC(tbl_board pk_board) */ rownum rn, bno, title ,content
from tbl_board WHERE rownum <= 20;
[4] 인라인 뷰 In-line View
(1) 정의
추출한 데이터에 다시 추출하는 방법
20개의 데이터를 추출했다면 다시 10개의 데이터를 추츨한다
SELECT bno, title, content FROM (
SELECT /*+ INDEX_DESC(tbl_board pk_board) */ rownum rn, bno, title , content
FROM tbl_board WHERE rownum <=20)
WHERE rn > 10;
오라클은 페이징 처리에 인라인뷰를 사용하기 때문에 검색처리는 인라인뷰 내부로 설정해야한다
반응형
'🌈 백엔드 > 데이터베이스' 카테고리의 다른 글
오라클 jdbc (169) | 2023.12.07 |
---|---|
커넥션 풀 DBCP (182) | 2023.12.03 |
데이터베이스_오라클 DB 생성 (2) | 2023.12.03 |
데이터베이스_SQL문 예시 (0) | 2023.09.09 |
데이터베이스_ JAVA에서 사용하는 DB 메서드 & 애노테이션 (0) | 2023.06.28 |
댓글