DB 2

MySQL - 실행 계획 분석

학습할 것 Mysql Explain 사용방법 주요 실행계획 분석 항목 select_type type extra MySQL Explain MySQL 튜닝에서 가장 중요한 것은 쿼리와 스키마 최적화이다. 스키마 설계는 한번 진행되면 그 테이블을 사용하는 모든 쿼리에 영향을 주기 때문에 좀처럼 변경하기 힘들지만 쿼리는 해당 쿼리만 수정하면 되므로 변경하기 쉽다. Slow Query를 없애는 것은 성능을 향상 시키기 위한 매우 중요한 수단이므로 어플리케이션의 성능을 향상 시키고 싶다면 우선적으로 쿼리의 튜닝을 검토해봐야 한다. 성능 진단의 가장 첫걸음은 실행한 SQL이 DB에서 어떻게 처리되는 지를 파악하는 것이다. 사람이 이해할 수 있는 언어로 구성된 SQL을 실행하도록 DB에 명령을 내리면 DB는 내부적으로..

DB/Mysql 2021.12.01

ORA-32034 / ORA-00936: 누락된 표현식 (with 포함된 insert시에)

업무 중에 with 포함된 insert작업을 하는 중에 'ORA-00936: 누락된 표현식' 가 발생했다. [ORACLE 11g] INSERT INTO IN_TABLE ( COL1, COL2, COL3 ) ( WITH V_WITH AS ( SELECT A.WITH_COL1, A.WITH_COL2, A.WITH_COL3 FROM TEMP_WITH A ) SELECT B.WITH_COL1, B.WITH_COL2, B.WITH_COL3 FROM V_WITH B ) ; 위와 같이 변경하면 잘 될줄 알았지만 역시 동일한 에러가 난다. 괄로'()' 안에만 쿼리를 돌리면 문제없이 작동한다. WITH문 옆에 괄호가 에러의 원인이었다. [해결방법] INSERT INTO IN_TABLE ( COL1, COL2, COL3 ..

DB/Oracle 2021.01.12