InnoDB 버퍼 풀 InnoDB 스토리지 엔진에서 가장 핵심적인 부분으로, 디스크의 데이터 파일이나 인덱스 정보를 메모리에 캐시해 두는 공간이며, 쓰기 작업을 지연시켜 일괄 작업으로 처리할 수 있게 해주는 버퍼 역할도 같이 수행한다. INSERT, UPDATE, DELETE처럼 데이터를 변경하는 쿼리는 데이터 파일의 이곳저곳에 위치한 레코드를 변경하기 때문에 랜덤한 디스크 작업을 발생시키게 되는데, 버퍼 풀이 이러한 변경된 데이터를 모아서 처리하면 랜덤한 디스크 작업의 횟수를 줄일 수 있게 된다. 버퍼 풀의 크기 설정 MySQL 5.7 버전부터는 InnoDB 버퍼 풀의 크기를 동적으로 조절할 수 있게 개선됐다. 때문에 가능하면 InnoDB 버퍼 풀의 크기를 적절히 작은 값으로 설정해서 조금씩 상황을 봐..
플러시(flush 플러시(flush)는 영속성 컨텍스트의 변경 내용을 데이터베이스에 반영하는 것이다. 데이터베이스 transaction commit이 발생하면 자동 플러시(flush)가 발생한다. 플러시는 영속성 컨텍스트의 변경 내용을 데이터베이스에 동기화하는 것이지 영속성 컨텍스트를 비우는 것은 아니다. transaction이라는 작업 단위가 있기 때문에 플러시(flush)가 동작 가능한것이다. 플러시(flush) 발생 플러시(flush)가 발생하면 다음과 같은 일이 발생한다. 1. 변경 감지(Dirty checking) 발생 2. 수정된 엔티티의 내용을 쓰기 지연 SQL 저장소에 등록 3. 쓰기 지연 SQL 저장소의 query를 데이터베이스에 전송(등록, 수정, 삭제) 영속성 컨텍스트 플러시(flus..
- Total
- Today
- Yesterday
- 코테
- 파이썬
- MySQL
- 노마드
- 자료구조
- 구현
- 백준
- leetcode
- 문자열
- 김영한
- 데이터베이스
- 북클럽
- 코틀린
- 알고리즘
- 스프링 부트
- mysql 8.0
- Spring
- 스프링부트
- Real MySQL
- 노마드코더
- Algorithm
- webflux
- kotlin
- 그리디
- 리팩토링
- 스프링
- 인프런
- 정렬
- 릿코드
- spring boot
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |