μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
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 |
- assert.notnull
- item15
- μλ°λΌμ΄λΈμ€ν°λ
- index full scan
- mysqlμν€ν μ²
- μμ΄ν 15
- Item6
- enum μμ±μ μ κ·Ό μ νμ
- μμ
- λΉμΌκ°μ²΄μμ±
- μΈλ±μ€μ€ν΅μ€μΊ
- index skip scan
- InnoDBμν€ν μ²
- μλ°
- λ°μ©λ μ€κ΅μ΄
- μΈλ±μ€νμ€μΊ
- builder null
- μ΄νν°λΈμλ°
- effectiveJava
- λ°μ΄ν°λ² μ΄μ€κ²©λ¦¬μμ€
- μλΌμ€ν±μμΉλ©μΈμ§μ©λ
- Hikari Connection Pool
- μν°λ κ°λ°μνμ¬
- μλ°μμμ°λ λλ₯Ό μ¬μ©νλ μ΄μ
- μλ°μμ
- mysql
- hikari cp μ€μ
- μν°λ λ³μ’ κ°λ°μ
- SVN
- μλ°μ°λ λ
- Today
- Total
βπ»κΈ°λ‘νλ λΈλ‘κ·Έ
Transaction & Lock λ³Έλ¬Έ
MySQL λμμ±(μ¬λ¬ μμ²μ΄ νλμ μ κ·Όνλ κ²½μ°)μ μν₯μ λ―ΈμΉλ μμλ€μ μ©μ΄λ₯Ό λ¨Όμ μ 리νμ.
Transaction
- λ°μ΄ν°μ μ ν©μ±μ 보μ₯νκΈ° μν κΈ°λ₯
- db read, writeμμ μ λ Όλ¦¬μ μΌλ‘ λ¬Άλ λ°©μ
- νΈλμμ μΌλ‘ λ¬Άμ μμ μ΄ μ±κ³΅νλ©΄ commit, μ€ν¨ μ rollbackμ νλ―λ‘ λΆλΆμ±κ³΅, λΆλΆ μ€ν¨(Partial Update)μ μνμ΄ μμ
Lock
- λμμ±μ μ μ΄νκΈ° μν κΈ°λ₯
- μ¬λ¬ 컀λ₯μ μμ λμμ λμΌν μμμ μμ²ν κ²½μ° μμλλ‘ νλμ 컀λ₯μ λ§ λ³κ²½ν μ μκ² νλ μν
Isolation level
- λμμ νλ λλ μ¬λ¬ νΈλμμ μ΄ μ§νλ λ, λ€λ₯Έ νΈλμμ μμ λ³κ²½λ λ°μ΄ν°λ₯Ό μ‘°ννλ κΈ°μ€
- μΌλ°μ μΈ μλΉμ€μμλ Read Commited, Repeatable Readλ₯Ό μ¬μ©
MySQL μμ§μ μ κΈ
Global Lock
FLUSH TABLES WITH READ LOCK
Lock μ’ λ₯ μ€ λ²μκ° κ°μ₯ λλ€.
Global Lock νλ μ λ€λ₯Έ μΈμ μμ SELECT μ μΈν DDL, DML μμ μ Global Lockμ΄ ν΄μ λκΈ°μ κΉμ§ λκΈ°μνλ‘ λ¨λλ€.
ν μ΄λΈ λ½
κ°λ³ ν μ΄λΈ λ¨μλ‘ μ€μ λλ μ κΈ
LOCK TABLES table_name [READ | WRITE] --μ κΈ
UNLOCK TABLES --μ κΈν΄μ
MyISAM, Memoryν μ΄λΈμ λ°μ΄ν°λ₯Ό λ³κ²½νλ 쿼리 μ€ν μ 묡μμ μΈ ν μ΄λΈ λ½ λ°μ
λ³κ²½λλ ν μ΄λΈμ μ κΈμ μ€μ νκ³ ν μ΄λΈμ μ κ·Έκ³ λ°μ΄ν° λ³κ²½μ΄ μΌμ΄λ λ€, μ¦μ Lockμ ν΄μ νλ€.
InnoDbμμλ μ€ν λ¦¬μ§ μμ§ μ°¨μμμ λ μ½λ κΈ°λ°μ μ κΈμ μ 곡νλ―λ‘ λ¬΅μμ μΈ ν μ΄λΈ λ½μ΄ λ°μνμ§ μλλ€.
λ€μλ λ½
GET_LOCK(); ν¨μλ₯Ό μ΄μ©ν΄ μμμ λ¬Έμμ΄μ λν΄ μ κΈ μ€μ
λ¨μ μ¬μ©μκ° μ§μ ν λ¬Έμμ΄μ λν΄ νλ λ° λ°λ©νλ μ κΈ.
λ€μλλ½μ μμ£Ό μ¬μ©λμ§μλλ€.
λ©νλ°μ΄ν° λ½
ν μ΄λΈ, λ·° λ±μ μ΄λ¦μ΄λ ꡬ쑰λ₯Ό λ³κ²½νλ κ²½μ° νλνλ μ κΈ
λͺ μμ μΈ νλμ΄ λΆκ°νλ©°, μλμ κ°μ΄ ν μ΄λΈλͺ μ λ³κ²½ μ μλμΌλ‘ νλλλ€.
RENAME TABLE tab_a TO tab_b
'DB > RDBMS' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
B-Tree (0) | 2023.01.29 |
---|---|
Transaction Isolation λ 벨 (0) | 2023.01.09 |
Mysql - InnoDB μ€ν λ¦¬μ§ μμ§ μ κΈ (0) | 2022.12.31 |
MySQL - InnoDB & MyISAM μ€ν λ¦¬μ§ μμ§ μν€ν μ² (0) | 2022.12.05 |