본문 바로가기

MySQL3

RealMySQL - 인덱스 스캔 방향 1. 인덱스 스캔 방향은 무조건 오름차순으로 이루어지는가?- No, 인덱스는 항상 오름차순으로 정렬돼 있지만 인덱스를 최솟값부터 읽으면 오름차순으로 값을 가져올 수 있다. 최댓값부터 거꾸로 읽으면 내림차순으로 값을 가져올 수 있다는 것을 MySQL 옵티마이저는 이미 알고있다. 2. 인덱스 스캔- 내림차순 인덱스 : 큰 값의 인덱스 키가 B-Tree의 왼쪽으로 정렬된 인덱스- 인덱스 역순 스캔 : 인덱스 키의 크고 작음에 관계없이 인덱스 리프 노드의 오른쪽 페이지부터 왼쪽으로 스캔 - 오름차순 인덱스 : 작은 값의 인덱스 키가 B-Tree의 왼쪽으로 정렬된 인덱스- 인덱스 정순 스캔 : 인덱스 키의 크고 작음에 관계없이 인덱스 리프 노드의 왼쪽 페이지부터 오른쪽으로 스캔 3. 인덱스 역순 스캔이 인덱스 .. 2025. 6. 22.
RealMySQL - REAPEATABLE READ REPEATABLE READ란? - REAPEATABLE READ는 MySQL의 InnoDB 스토리지 엔진에서 기본으로 사용되는 격리 수준- MVCC를 위해 언두 영역에 백업된 이전 데이터를 이용해 동일 트랜잭션 내에서는 동일한 결과를 보여줄 수 있게 보장함1. 주요 특징특징설명 동일 쿼리 반복 시 결과 일관성 유지트랜잭션이 시작된 순간의 스냅샷을 기준으로 데이터를 조회한다.Phantom Read 방지MySQL(InnoDB)은 Next-Key Locking을 통해 팬텀 리드를 막는다.Serializable보다 성능이 좋음완벽한 직렬화(Serializable) 수준보다 성능이 높고 동시성도 괜찮은 편이다.Read Committed보다 보수적다른 트랜잭션에서 커밋한 내용도, 트랜잭션 내에서는 보이지 않음. .. 2025. 6. 22.
Docker Oracle Linux 8 컨테이너 MYSQL 한글 깨짐 해결 방법 문제 상황 1. EC2에 배포 중인 차량 배치 프로젝트에서 디버깅을 위해 저장된 데이터를 확인하려고 mysql 컨테이너에 접속하니 한글 이름 부분이 ???로 깨져서 출력이 되었다. 시도한 방법 1. MYSQL에서 한글이 표기되지 않는 이유는 아래 사진과 같이 character-set이 utf8로 설정이 되지 않아서이다. (mysql에 접속 후 show variables like 'c%'를 통해서 확인 가능하다.) 2. 그렇다면 vim 명령어를 통해서 /etc/mysql에 my.cnf를 생성하고 utf8을 설정해 주어야 하는데 vim 명령어가 command not found가 떠서 사용이 불가능한 상태 3. 설치 명령어를 통해서 vim을 깔아주어야 하는데 apt-get, yum, dnf 모두 사용이 불가능.. 2024. 4. 8.