일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- iterator
- 동시성
- db
- Locking Read
- iterable
- Synchronized
- MVCC
- foreach
- 백엔드
- 스프링
- gc
- reflection
- CAS
- 자바
- 가비지 컬렉션
- Di
- text
- Varchar
- jpa
- 가비지 컬렉터
- MySQL
- Lock
- java
- 데이터 타입
- Atomic Type
- 동시성 문제
- Today
- Total
목록MySQL (2)
과정을 즐기자

여러 트랜잭션이 동시에 실행된다면 데이터의 무결성에 문제가 생길 수 있으며 여러 트랜잭션을 순차적으로 실행한다면 성능이 좋지 않을 수 있습니다. 트랜잭션의 특징인 ACID 중에서 I인 Isolation level은 여러 트랜잭션을 실행할 때 트랜잭션끼리 얼마나 격리되어 있는 지를 나타냅니다. 트랜잭션의 격리 레벨에는 크게 4가지가 있습니다. 격리 레벨이 높은 순서대로 Serializable, Repeatable Read, Read Commited, Read Uncommited가 있습니다. Serializable 수준은 동시 처리 성능이 상당히 떨어지기 때문에 거의 사용되지 않으며 Read Uncommited 수준은 데이터의 무결성에 문제가 생길 수 있기 때문에 거의 사용되지 않습니다. 대부분의 RDBMS..

이번 글은 MySQL과 InnoDB 스토리지 엔진을 기준으로 작성하였습니다. MySQL에는 여러 데이터 타입이 있습니다. 숫자형 데이터 타입, 문자열 데이터 타입, 날짜 시간 데이터 타입 등..이 중에서 문자열 데이터 타입의 종류에는 CHAR, VARCHAR, TEXT 등이 있습니다.CHAR는 고정 크기 문자열 방식이고 VARCHAR는 가변 크기 문자열 방식이고 TEXT는 긴 문자열을 저장할 때 사용합니다. 이때 한가지 의문이 듭니다. VARCHAR가 가변 크기 문자열 방식이라면 TEXT를 사용하지 않고 그냥 최대 크기인 VARCHAR(16683)로 (65535 bytes) 선언하면 되지 않을까요? 어차피 10글자만 입력하면 실질적인 10글자인 40bytes를 저장하고 나머지 4byte는 길이정보로 사용..