본문 바로가기

DB

(3)
Hint로 쿼리 튜닝하기 Hint를 왜 써야 할까? 오라클이 항상 최적의 실행 경로를 만들어 내기는 불가능하기 때문에 직접 최적의 실행 경로를 작성하여 SQL 문에서 인덱스 설정이 Optimizer에 의존한 실행 계획보다 효율적인 실행 계획을 구사할 수 있기 떄문이다. 1. OPTIMIZER_MODE CHOOSE : Optimizer가 CBO와 RBO 두 가지가 모두 선택 가능할 경우에 사용 ALL_ROWS : CBO 환경경에서 전체적인 처리, 즉 Batch 환경에서 주로 사용 FIRST_ROWS : CBO 환경에서 빠른 응답시간을 얻고자 할 때, 즉 ON-LINE 환경에서 주로 사용 Rule : SQL에 대한 실행 계획이 여러 개 있을 때 가장 낮은 순위의 실행계획을 사용 OPTIMIZER_MODE 비교 RULE Analyze..
바인드 변수에 리스트 형태로 넘길 수 없을까? 바인드 변수를 사용하는 이유와 종류 바인드 변수는 오라클에서 데이터 값을 변수로 두어서 일일이 작성하지 않고 한 번 저장해 두면 저장한 데이터 값을 불러와서 쿼리를 실행하기 때문에 자주 사용하고 있다. 오라클에서 바인드 변수는 다음 방법들로 선언할 수 있다. var(iable) 을 사용해서 선언 SQL Developer 툴 선언 declare 내부에서 선언 프로그램 파라미터에서 선언 var(iable) 을 사용해서 선언 var a number; exec :a := 1; select :a from dual; a를 선언할 때 콜론을 사용하지 않지만 참조할 때는 콜론이 사용된다. 이처럼 var로 선언된 변수는 다음과 같은 특징이 있다. 선언시에는 이름만 사용, 참조시에는 콜론(:) 함께 사용 세션에서 전역적으..
MongoDB “최근에 데이터를 분석해서 고객에게 맞는 데이터를 추출해 다시 몽고DB 저장소에 담고, 이를 사용자에게 보여주는 형태로 운영하는 경우가 많았습니다. 스키마가 자주 변경되어야 하는 상황이였지요. 이 과정에서 벌크 데이터를 입력하고 추출하는 상황이 계속 발생했는데, 성능이 좋더군요. 그 외에도 여러 개 인덱스를 설정할 수 있는 세컨더리 인덱스를 지원하는 부분도 즐겨 사용합니다. 압축 알고리즘을 통해 데이터 사이즈를 줄여서 스토리지 비용을 낮추는 점도 몽고DB 장점으로 꼽을 수 있겠네요.” 이민규 DB 엔지니어 "오라클 DB 정합성 영역을 몽고DB로 대체할 수 있다" "향후 국내시장에서 금융 등 미션 크리티컬한 영역을 몽고DB로 구축하느냐가 관건" 신재성 몽고DB 한국 지사장 카카오가 연내 오라클 데이터베이스..