
Ch 01. 소개 1.1 MySQL 소개 > MySQL은 1979년 스웨덴의 TcX라는 회사의 터미널 인터페이스 라이브러리인 UNIREG로부터 시작된다. 이후 MySQL 버전 1.0이 완성된 후 사내에서만 사용되다가, 1996년에 일반인에게 공개됐다. 1.2 왜

Introduction to InnoDB in MySQL 8.0

각 구조에 대한 정보를 알기 위해서는 InnoDB In-Memory Structures 와 InnoDB On-Disk Structures 섹션을 확인하길 바란다. 자세한 각 구조에 대해 이어서 작성하겠다.multi-versioned storage engine: http

💡 여러 작업들을 하나로 묶은 단위로, 이렇게 묶인 작업들은 모두 실행되거나 모두 실행되지 않는다(all-or-nothing). 읽기와 쓰기를 하나의 논리적 단위로 묶는 방법이라고 정의할 수 있다.하나의 트랜잭션 안에서 실패하면 트랜잭션 내부에서 했던 작업이 다시 진

Ch 04. 아키텍처 > MySQL 서버는 MySQL엔진 + 스토리지 엔진으로 구성된다. 4.1 MySQL 엔진 아키텍처 MySQL 서버는 다른 DBMS에 비해 구조가 독특하다. MySQL 서버 전체 구조 MySQL 엔진: 프론트, 기획자, 옵티마이제이션 및

MySQL의 InnoDB 스토리지 엔진은 레코드 기반의 잠금 방식을 사용하지만, 흥미로운 점은 레코드 자체를 잠그는 것이 아니라 인덱스를 잠근다는 것입니다. 이 특성이 실제로 어떻게 동작하는지, 그리고 데이터베이스 설계와 성능에 어떤 영향을 미치는지 직접 테스트해보았습

이 실험에서는 전통적인 관계형 데이터베이스인 MySQL의 전문 검색(Full-Text Search)과 전문 검색 엔진인 Elasticsearch의 성능을 비교 분석하고자 한다.문장이나 문서 내용에서 키워드를 검색하는 기능1\. 구분자(Stopword) 방식MySQL 5

옵티마이저는 제한된 정보를 이용해서 최적의 실행계획을 최대한 짧은 시간안에 수립해야한다. 따라서 빠르고 정확하게 실행되어야한다.실제 실무에서 RDBMS사용할 때 옵티마이저 관련 오류가 많이 발생하고 이런 문제를 최대한 회피하고자 옵티마이저 힌트를 사용하고, 많은 힌트

개발을 하며 쿼리를 작성할 때 여러 테이블에서 데이터를 가져오기 위해 서브쿼리나 조인을 사용한 경험이 있을 것이다. 이때 어떤 방법을 선택하는것이 더 나은지에 대한 고찰을 해 보았다.쿼리 안에 또 다른 쿼리가 들어간 것상황에 따라 메인 쿼리의 WHERE, FROM, S

Real MySQL 8.0 : 11장 쿼리 작성 및 최적화 들어가며 MySQL에서 SQL을 작성할 때, 단순히 문법만 맞추면 되는 것이 아니다. MySQL 서버의 설정에 따라 대소문자 구분, 문자열 표기 방법, 날짜 형식 등이 달라지며, 이러한 시스템 변수들을 이해

Real MySQL 8.0 : 11장 쿼리 작성 및 최적화 (2) - SELECT 들어가며 SELECT 문은 데이터베이스에서 가장 많이 사용되는 SQL 문이다. 단순히 데이터를 조회하는 것처럼 보이지만, 내부적으로는 여러 단계의 처리 과정을 거치며 인덱스 활용 여부

Real MySQL 8.0 2권 11장에서는 쿼리 작성과 최적화에 대해 다룬다. 이 글에서는 그중 11.4.10 서브쿼리, 11.4.11 CTE(Common Table Expression), 11.4.13 잠금을 사용하는 SELECT를 정리한다.서브쿼리는 MySQL 5

SELECT 문은 데이터를 조회하는 데 사용되지만, 실제 서비스에서는 데이터의 생성, 수정, 삭제가 빈번하게 발생한다. INSERT, UPDATE, DELETE는 데이터를 변경하는 DML(Data Manipulation Language)로, 잘못 사용하면 성능 저하는

MySQL의 강력한 확장 검색 기능인 전문 검색(Full-Text Search) 과 공간 검색(Spatial Search) 에 대해 알아보자.

Real MySQL의 공간검색 부분을 읽으며 추가적으로 다른 공간DB에 대하여 찾아보고 정리하였다.

MySQL 파티셔닝에 대하여

이 글은 Real MySQL 8.0의 13장 파티션을 읽고 정리한 내용이다. 파티션의 개념, 내부 동작 원리, 주의사항, 그리고 각 파티션 종류별 특징을 다룬다.파티션은 하나의 테이블을 물리적으로 여러 개로 분리하여 저장하는 기법 이다. 논리적으로는 하나의 테이블이지만

MySQL TINYINT

데이터베이스 복제를 직접 해보자.

들어가며 인덱스는 SQL Server 성능 튜닝의 가장 핵심적인 요소 이다. 인덱스를 잘못 설계하면 아무리 좋은 하드웨어를 써도 쿼리가 느리고, 잘 설계하면 적은 리소스로도 빠른 응답을 얻을 수 있다. 이 글에서는 인덱스의 기본 개념부터 내부 구조(B-Tree),

들어가며 SQL Server에서 NULL 값을 대체할 때 ISNULL과 COALESCE 두 가지 선택지가 있다. 둘 다 "NULL이면 다른 값으로 바꿔줘"라는 같은 목적을 가지고 있지만, 내부 동작 방식과 세부 특성이 다르다. 단순히 "ISNULL이 빠르니까 ISNULL 쓰자"로 끝나는 게 아니다. 반환 타입 차이 때문에 예상치 못한 버그가 발생할 수 ...