β’
νΈλμμ
λ‘€λ°±μ΄ μ μ©λμ΄ UserServiceTest ν΄λμ€μ testTransactionRollback() ν
μ€νΈ μΌμ΄μ€κ° ν΅κ³Όνλ€.
β’
νΈλμμ
μλΉμ€μ μ ν리μΌμ΄μ
μλΉμ€κ° λΆλ¦¬λμλ€.
β’
νν°μ
λμ ν λ λλλ λ°©λ²μ μ¬λ¬κ°μ§μ΄λ€.
β¦
μ§μ/κΈ°μ/ν΄μ±
β’
λμ μ±λ₯μ°¨μ΄
β¦
select * from fruit where fruit_name=βap%β;
β¦
select fruit_name from fruit where fruit_name=βap%β;
μ§λ¬Έ λͺ©λ‘
β’
κ·Έλ¬λ©΄ μ ν
μ΄λΈμ λν λͺ¨λ μ‘°νλ§λ€ νν°μ
κΈ°μ€μ΄ κΌ λ€μ΄κ°μΌκ² λ€μ? λ νν°μ
μ΄ λ무 λ§μμ§ κ²½μ°μλ μ΄λ»κ² λλμ??
β’
νν°μ
λ κΈ°μ€μ λ°λΌ μΌλΆ 쿼리λ μ‘°ν μ±λ₯μ΄ μ€νλ € μ νλ μλ μμΌλ €λμ?
β’
μ€λ©μ κΈ°μ€μ μ΄λ»κ² μ‘λμ? μ€λ©μ ν΅ν΄ μ¬λ¬ μλ²λ‘ DBλ₯Ό λΆν νλ©΄ μ¬μ©μκ° μ€λ© κΈ°μ€μ λ°λΌ Datasourceλ₯Ό μ ν΄μ€μΌνλμ?
β’
μ€λ©μ μ§ννλ©΄ db μλ²λ₯Ό λΆλ¦¬νλκ±΄λ° νΈλμμ
κ΄λ¦¬λ λ°λ‘ μ§νν΄μ£Όμ΄μΌνλ건κ°μ?
β’
λ μΈμ§ νν°μ
λ != μ€λ©μΈκ±΄κ°μ??,,
β’
DB λ κ²°κ΅ νλμ νμΌλ‘ κ΄λ¦¬νλ€.
νμ΄μ§ μ²λ¦¬
β’
offset
β¦
μ€ν΅νλ€ λΌκ³ νν
β¦
limit μ μΉ΄μ΄νΈν΄μΌ νλ€(λ€ μ½μ).
β’
cursor
β¦
where μ μ λ¨Όμ μ½κΈ° λλ¬Έμ λ°μ΄ν°κ° λ§μμ‘μ λ μ 리νλ€
β¦
λ¨μ μ??
μλ² μΊμ, κ²μ μμ§, λ©μμ§ ν
μꡬμ¬ν ννΈ
β’
20κ°λ cache λ₯Ό μ΄μ©νλ€.
β’
κ²μ μμ§μ μ΄μ©νλ€.
β’
μν μ λ³΄κ° λ³κ²½λμμ λ
β¦
write ν λ€
βͺ
λ©μμ§ ν
βͺ
μΊμμ λ°λ‘ write
κ³ λ―Όν λΆλΆ
β’
μλΉμ€ λ°μ΄ν° νΉμ±
β’
μλΉμ€μμ νΉλ³ν κ³ λ €ν΄μΌ ν μ€μ κΈ°λ₯
β’
κ°μ ν μΈνλΌ μν€ν
μ²μμ λ°μν μ μμ κ²μΌλ‘ μμλλ λ¬Έμ
β’
λ¬Έμ μ λν ν΄κ²° λ°©μ μμ΄λμ΄
β’
κ·λͺ¨ νμ₯μ±(scalability)
β’
μ±λ₯(performance)