본문 바로가기

db5

[Real MySQL 8.0] #4 아키텍처 Real MySQL 8.0 (1권)을 읽고 요약한 자료입니다. 4.1 MySQL 엔진 아키텍처4.1.1 MySQL의 전체 구조MySQL 엔진커넥션 핸들러, SQL 파서, 전처리기, 옵티마이저 등요청된 SQL 문장을 분석 최적화스토리지 엔진(동시에) 여러 스토리지 엔진을 사용할 수 있다.MyISAM, InnoDB, Memory 4.1.2 MySQL 스레딩 구조SELECT thread_id,name , type,processlist_user , processlist_host FROM performance_schema.threadsORDER BY type,thread_id;마지막 'thread/ sql/ one_connection' 스레드만 실제 사용자의 요청을 처리하는 Foreground Thre.. 2024. 9. 8.
Partition Range Iterator VS Partition Range ALL Oracle Query Plan 을 확인하다보면 Partition Range Iterator 와 Range ALL 플랜을 접하게 된다. 무슨 차이가 있을까? Partition 이 무엇인지는 구글링 해보면 많이 확인 할 수 있다. 테이블 또는 인덱스를 실제로 나눠져 저장되지만, 논리적으로 하나의 테이블/인덱스로 관리하기 위해 사용된다. 성능 상 이점 또한 있다. 자세한 설명은 아래 링크를 참고하자. https://docs.oracle.com/cd/B28359_01/server.111/b32024/partition.htm 이를 알기 위해서는 Partition Pruning 개념을 먼저 알아야 한다. Partition Pruning 가지치기라는 의미를 갖고 있으며, 불필요한 Partition Access 를 .. 2016. 2. 10.
ORA-01861:literal does not match format string 오라클 DB 를 이용하여 개발을 진행하다보면 수많은 오류를 접하게 되지만 주로 만나게 되는 오류는 몇 가지로 압축된다. 문법 오류나 데이터형 오류가 그것이다. 그 중 데이터 형 때문에 발생하는 오류 중 하나를 정리해보고자 한다. ORA-01861: 리터럴이 형식 문자열과 일치하지 않음 이 경우가 발생하면 INSERT 또는 UPDATE 되는 각 컬럼의 데이터 형을 잘 확인해야 한다. 예를 들면 아래와 같다. NUMBER 타입 컬럼에 문자열(String 타입) 을 저장하고자 할 때 DATE 타입 컬럼에 문자열(String 타입) 을 저장하고자 할 때 이외에도 많은 경우가 있겠지만, 경험한 바로는 위 2케이스가 주를 이뤘다. 해결방법은 데이터 형에 맞게 변환하는 쿼리를 작성하는 것이다. 예를 들어 아래와 같은.. 2015. 12. 31.
ORA-64203: 문자 집합 변환 후 대상 버퍼가 너무 작아 CLOB 데이터를 보유할 수 없습니다. ORA-64203: 문자 집합 변환 후 대상 버퍼가 너무 작아 CLOB 데이터를 보유할 수 없습니다. 시스템 운영 중 위와 같은 오류가 발생하였습니다. Oracle 공식 문서를 확인 해 보니, 아래와 같이 설명이 되어 있습니다. ORA-64203: Destination buffer too small to hold CLOB data after character set conversion. Cause: An attempt was made to convert CLOB to CHAR, where the LOB size was bigger than the buffer limit for CHAR types or the CHAR buffer was not big enough to hold all data after .. 2015. 12. 31.