Backend Ddevelopment
βπ[Backend Development] μ΅λ 2depth λκΈ μ λ ¬ ꡬ쑰λ 무μμΌκΉμ?β

β
μ΅λ 2 Depth λκΈ μ λ ¬ ꡬ쑰 μ€λͺ
.
- μ΅λ 2 Depth(κ³μΈ΅μ΄ μ΅λ 2λ¨κ³)κΉμ§λ§ νμ©νλ λκΈ μμ€ν
μ μ λ ¬ ꡬ쑰λ λΉκ΅μ λ¨μνλ©΄μλ ν¨μ¨μ μ
λλ€.
ποΈ1οΈβ£ λκΈ ν
μ΄λΈ ꡬ쑰.
- μ΅λ 2 Depth λκΈμ μ μ₯νλ ν
μ΄λΈ ꡬ쑰λ λ€μκ³Ό κ°μ΅λλ€.
νλλͺ
|
μ€λͺ
|
comment_id |
λκΈμ κ³ μ ID (PK) |
parent_comment_id |
λΆλͺ¨ λκΈ ID (μ΅μμ λκΈμ΄λ©΄ NULL) |
article_id |
ν΄λΉ λκΈμ΄ μν κ²μκΈ ID |
content |
λκΈ λ΄μ© |
created_at |
λκΈ μμ± μκ° |
π νΉμ§.
-
μ΅μμ λκΈμ parent_comment_id = NULL (μ: λκΈ 1, λκΈ 3)
-
μμ λκΈμ parent_comment_id = λΆλͺ¨μ comment_id (μ: λκΈ2, λκΈ 4, λκΈ 5)
-
2 DepthκΉμ§λ§ νμ© (λκΈμ λκΈκΉμ§λ§ κ°λ₯, λλκΈμ λλκΈμ λΆκ°λ₯)
ποΈ2οΈβ£ μ λ ¬ λ°©μ
- μ΅λ 2 Depth λκΈ μ λ ¬μ λ€μκ³Ό κ°μ μμλ‘ μ§νλ©λλ€.
ORDER BY parent_comment_id ASC, comment_id ASC
π μ λ ¬ κΈ°μ€.
-
- parent_comment_id ASC β κ°μ λΆλͺ¨ λκΈμ κΈ°μ€μΌλ‘ κ·Έλ£Ήν.
-
- comment_id ASC β μμ±λ μμλλ‘ μ λ ¬ (μ€λλ λκΈμ΄ λ¨Όμ μΆλ ₯λ¨).
ποΈ3οΈβ£ μ λ ¬ λ°μ΄ν° μμ.
- μ μ λ ¬ λ°©μμ λ°λΌ λκΈ λ°μ΄ν°λ₯Ό μ‘°ννλ©΄ λ€μκ³Ό κ°μ ννκ° λ©λλ€.
parent_comment_id |
comment_id |
λ΄μ© |
NULL |
1 |
λκΈ1 (μ΅μμ λκΈ) |
1 |
2 |
λκΈ2 (λκΈ1μ λλκΈ) |
1 |
4 |
λκΈ4 (λκΈ 1μ λλκΈ) |
NULL |
3 |
λκΈ3 (μ΅μμ λκΈ) |
3 |
5 |
λκΈ5 (λκΈ 3μ λλκΈ) |
π μ΄ μ λ ¬ λ°©μμ μ₯μ .
- parent_comment_idλ₯Ό κΈ°μ€μΌλ‘ λ¨Όμ μ λ ¬νμ¬ μ΅μμ λκΈμ΄ λ¨Όμ μΆλ ₯λ¨
- κ°μ parent_comment_idλ₯Ό κ°μ§ λκΈ(λλκΈ)μ μμ± μμλλ‘ μ λ ¬λ¨
- LIMIT ?, ?μ νμ©νμ¬ νμ΄μ§ μ²λ¦¬ κ°λ₯
ποΈ4οΈβ£ SQL μ λ ¬ μμ
SELECT * FROM comment
WHERE article_id = ?
ORDER BY parent_comment_id ASC, comment_id ASC
LIMIT ?, ?;
ποΈ5οΈβ£ νμ΄μ§ μ²λ¦¬.
- κ° νμ΄μ§μμ Nκ° λκΈμ λΆλ¬μ¬ μ μλλ‘ LIMIT ?,? μ¬μ©
- μ΅μμ λκΈκ³Ό λλκΈμ ν¨κ» λΆλ¬μ€κΈ° μν΄ parent_comment_id κΈ°μ€ μ λ ¬ μ μ§
- μ΅λ depthκ° 2μ΄λ―λ‘ μ±λ₯ μ΅μ νμ μ 리ν¨
β
6οΈβ£ μ 리.
- β
μ΅λ 2 Depth ꡬ쑰 β parent_comment_idλ₯Ό νμ©ν΄ λΆλͺ¨-μμ κ΄κ³ μ μ§
- β
μ λ ¬ μμ β ORDER BY parent_comment_id ASC, comment_id ASC
- β
μ‘°ν κ²°κ³Ό β λΆλͺ¨ λκΈμ΄ λ¨Όμ , λλκΈμ΄ λ€μ μ λ ¬λ¨
- β
νμ΄μ§ κ°λ₯ β LIMIT ?, ?λ₯Ό νμ©νμ¬ μ€λλ μμΌλ‘ νμ΄μ§ μ²λ¦¬