본문 바로가기

스터디69

04 실행계획 분석 4.1 개요 4.1.1 쿼리 실행 절차 MariaDB 서버에서 쿼리가 실행되는 과정은 크게 3가지로 나눌수 있습니다. - 사용자로부터 요청된 SQL 문장을 잘게 쪼개서 MariaDB서버가 이해할 수 있는 수준으로 분리(파스 트리)한다. - SQL의 파싱 정보(파스 트리)를 확인하면서 어떤 테이블부터 읽고 어떤 인덱스를 이용해 테이블을 읽을지 선택한다. - 두 번째 단계에서 결정된 테이블의 읽기 순서나 선택된 인덱스를 이용해 스토리지 엔진으로부터 데이터를 가져온다. 첫번째 단계를 SQL 파싱이라고 하며 MariaDB서버의 SQL 파서라는 모듈로 처리합니다. 만약 SQL 문장이 문법적으로 잘못됐다면 이 단계에서 걸러집니다. 또한 이 단계에서 SQL 파스 트리가 만들어집니다. MariaDB서버는 SQL 문장 .. 2021. 6. 1.
1.MariaDB란?(MySQL과의 차이점) 1.1MariaDB란? Monty Program AB회사에서 만든 하나의 독립적인 RDBMS. -MySQL 커뮤니티 코드 베이스를 이용해서 탄생하였으며, Monty Program AB에 의해서 다듬어진 MySQL입니다. MySQL의 경우 커뮤니티 버전은 무료이지만, 엔터프라이즈 버전은 상용(유료)이며, MariaDB는 오픈소스이기 때문에 무료입니다. 1.2 MariaDB vs MySQL 1.2.2 공통점 MySQL과의 호환성 MariaDB의 실행 프로그램들과 유틸리티는 모두 MySQL과 이름이 동일하며, 호환됩니다 MySQL 5.x 데이터파일과 .FRM(테이블정의파일)은 MaraiDB 5.x와 호환됩니다. 모든 클라이언트 API와 통신 프로토콜은 서로 호환됩니다 모든 파일(복제 관련 데이터 파일과 소켓파.. 2021. 5. 4.
Checkpoint와 Checkpoint not complete 오늘 DB가 느려졌다는 연락을 받고 Alert log를 확인해보니 특정시간 이후 Redo log파일의 switch가 자주 일어나고 있었고 그에 따라 Checkpoint not complete 에러가 계속 발생하고 있었습니다. 결국 DB 재기동을 통해서 눈앞의 급한 이슈는 해결할 수 있었지만, 다음번에는 재기동 없이 해결할 수 있는 방법을 찾기 위해서 정리해보고자 합니다. 1.Checkpoint란? 메모리에 있는 block buffer의 내용과 disk의 data block간의 내용을 맞추는 것이라고 할 수 있습니다. checkpoint가 발생하면 그때까지 메모리내의 block에 가해진 모든 변경사항을 disk 상의 datafile 내에 반영하게 됩니다. database crash에 의해 복구가 필요하게되.. 2020. 9. 9.
Temp Tablespace Temporary(임시) 테이블스페이스는 임시 세그먼트라고 불리는 작업용 디스크 영역을 보관하기 위한 특수한 테이블스페이스입니다. Temp 테이블스페이스에 일반적인 오브젝트(테이블,인덱스)를 저장할 수 없습니다. DBCA를 사용해서 데이터베이스를 생성하면 기본적으로 TEMP라는 이름으로 생성됩니다. TEMP는 데이터베이스의 Sort 작업과 글로벌 임시테이블을 저장하는데 사용됩니다. Default TEMP테이블스페이스가 없으면 SYSTEM 테이블스페이스를 TEMP영역으로 사용하게 됩니다. SYSTEM 테이블스페이스는 DB의 중요한 정보들을 가지고 있는 중요한 테이블스페이스므로 해당 테이블을 TEMP영역으로 사용하게되면 성능상의 문제가 발생한 가능성도 높아지고, SYSTEM테이블스페이스의 단편화 현상이 발생.. 2020. 9. 8.