Database/공부공부 (3) 썸네일형 리스트형 [SQL] INSERT INTO ... SELECT 구문 (Dual 테이블) * DUAL : 특수한 단일 행 테이블.=> 데이터를 조회할 대상이 없을 때, 테이블 없이 간단한 연산이나 함수 결과를 반환할 떄 사용. ex) 테이블 없이 상수, 연산결과 등을 반환.// 상수 반환SELECT 'Hello World' FROM DUAL; SELECT 1 FROM DUAL;// 함수 결과 반환SELECT SYSDATE FROM DUAL;// 연산 수행SELECT 2 + 3 FROM DUAL;// 다중 행 반환SELECT 'Current Time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SS') FROM DUAL; ** MySQL 에서는 FROM DUAL 생략 가능.SELECT 1; * INSERT INSERT INTO table_name (column1, column2.. [MyBatis] foreach 태그 지원 옵션 * MyBatis foreach태그 (구 ibatis [ iterate ) collection : 전달받은 인자. List or Array 형태만 가능. item : 전달받은 인자 값을 alias명으로 대체. open : 구문이 시작될때 삽입할 문자열. close : 구문이 종료될 때 삽입할 문자열. separator : 반복 되는 사이에 출력할 문자열. index : 반복되는 구문 번호. 0부터 순차적으로 증가. SELECT * FROM users WHERE id IN #{itemId} 즉, idList = {ID1, ID2, ID3, ID4...} 이런식으로 데이터가 들어있으면 SELECT * FROM users WHERE id IN (ID1, ID2, ID3, ID4, ...) 위같은 형태가 되는거다. [DB기초] 옵티마이저, 테이블 스캔 방식 * 옵티마이저 (optimizer) SQL쿼리를 실행할 때 가장 효율적인 처리 경로를 생성해주는 컴포넌트 - 규칙 기반 옵티마이저 (Rule-Based Optimizer, RBO) 정해진 규칙의 우선순위에 따라 실행 방법을 결정. => 조인 여부, 종류 / 인덱스 여부 등 - 비용 기반 옵티마이저 (Cost-Based Optimizer, CBO) 가능한 실행 경로들 중 최소한의 비용을 가지는 경로를 선택. => DBMS의 통계정보 활용 (테이블, 컬럼, 인덱스, I/O, CPU성능 등) * 참고블로그 * https://coding-factory.tistory.com/743 [DB] 데이터베이스 옵티마이저(Optimizer)에 대하여 옵티마이저(Optimizer)란? 옵티마이저는 가장 효율적인 방법으로 S.. 이전 1 다음