본문 바로가기
728x90

MyISAM3

[데이터베이스] InnoDB vs MyIsam InnoDB의 주요 특징과 장점 트랜잭션 지원InnoDB는 완벽한 ACID(Atomicity, Consistency, Isolation, Durability) 모델을 지원하는 트랜잭션을 제공합니다. 이는 데이터의 정합성과 안정성을 보장하며, 여러 작업을 그룹화하여 하나의 작업으로 관리할 수 있습니다. 외래키 지원데이터베이스 설계에서 중요한 요소인 외래키를 지원합니다. 이를 통해 데이터 간의 일관성을 유지하고 복잡한 쿼리와 관계를 효율적으로 관리할 수 있습니다. MVCC (Multi-Version Concurrency Control)동시성을 높이기 위해 여러 버전의 데이터를 관리할 수 있는 기능을 제공합니다. 이는 읽기 작업 중에 발생할 수 있는 락 경쟁을 최소화하여 성능을 향상시킵니다. Locking L.. 2024. 5. 10.
[데이터베이스] MySQL 엔진 처리 동작 과정 쿼리파서쿼리파서는 쿼리를 요청 받았을 때 가장 먼저 작동하는 구간입니다. 사용자의 요청으로 들어온 SQL구문을 토큰으로 분리해 트리형태의 구조로 변경합니다. 쿼리파서는 쿼리를 파싱한후 SQL 구문의 문법오류 여부 확인합니다. 이후 전처리기로 보내게 됩니다. 전처리기전처리기는 SQL 쿼리의 유효성을 검증하는 중요한 단계입니다. 먼저, Parser가 만든 트리를 기반으로 SQL 구문의 유효성을 검사합니다. 각 토큰을 테이블이나 컬럼명, 내장 함수 등의 개체와 매핑하여 해당 객체의 존재 여부와 접근 권한을 확인합니다. 이 과정에서 권한이 없는 개체의 토큰은 걸러지게 됩니다. 옵티마이저옵티마이저는 SIUD와 같은 쿼리를 최적으로 실행하기 위한 실행 계획을 수립하는 프로세스입니다. 이때 비용 기반 최적화와 규칙 .. 2024. 5. 9.
[데이터베이스] MySQL의 구성 요소: 엔진과 스토리지 엔진 MySQL은 관계형 데이터베이스 관리 시스템(RDBMS)으로, 데이터의 저장, 관리, 접근을 담당하는 여러 구성 요소로 구성되어 있습니다. MySQL의 구성요소를 알면 쿼리문 하나 하나 날릴 때마다 어떤 식으로 동작하는 지 조금더 자세히 할수 있게 되고, 오류를 더 쉽게 수정할수 있을 듯합니다. 이 글에서는 MySQL의 핵심 구성 요소인 MySQL 엔진과 스토리지 엔진에 대해 살펴보겠습니다.MySQL 엔진MySQL 엔진은 클라이언트의 접속과 SQL 요청을 처리하는 역할을 합니다. 이를 위해 다음과 같은 논리적인 절차를 거칩니다. 일종의 사람에게서 두뇌와 같은 역할을 하며, 논리적인 절차로 결정을 내립니다.쿼리 파싱 및 전처리: 클라이언트로부터 받은 SQL 쿼리를 분석하여 문법적으로 올바른지 확인하고, 실.. 2024. 5. 8.
728x90