Home
>
DB
>
πΎ[Database] Primary Key μμ± μ λ΅ - DB auto increment
Database
Primary Key
DBMS
βπΎ[Database] Primary Key μμ± μ λ΅ - DB auto incrementβ
π Intro.
-
λ°μ΄ν°λ² μ΄μ€μμ Primary Key(κΈ°λ³Έ ν€)λ₯Ό μλμΌλ‘ μ¦κ°μν€λ κΈ°λ₯μ
λλ€.
- μ¦, μλ‘μ΄ νμ΄ μ½μ
λ λ PK κ°μ μλμΌλ‘ μμ±νλ―λ‘, λ§€λ² μλμΌλ‘ μ
λ ₯ν νμκ° μμ΅λλ€.
β
1οΈβ£ Auto Incrementμ λμ λ°©μ.
- λ°μ΄ν°κ° μ½μ
λ λ μλμΌλ‘ μ¦κ°νλ λ²νΈκ° ν λΉλ©λλ€.
- μΌλ°μ μΌλ‘ μ μ(INT, BIGINT λ±) νμ
μ 컬λΌμμ μ¬μ©λ©λλ€.
- λ°μ΄ν°λ² μ΄μ€κ° κ΄λ¦¬νλ―λ‘ μ€λ³΅λ κ°μ΄ λ°μνμ§ μμ΅λλ€.
- μμ λ κ°μ μλμΌλ‘ 볡ꡬλμ§ μμ΅λλ€.(λ€μ IDκ° μ΄μ΄μ μ¦κ°ν©λλ€.)
β
2οΈβ£ Auto Incrementμ μ₯μ .
- 1. PK κ°μ μλ μμ±νλ―λ‘ κ°λ°μκ° μ κ²½ μ°μ§ μμλ λ©λλ€.
- 2. μ€λ³΅λ PK κ°μ΄ λ°μν μνμ΄ μμ΅λλ€.
- 3. λ°μ΄ν° μ½μ
μλκ° λΉ λ¦
λλ€.
- 4. μ λν¬ν ID κ°μ΄ μλμΌλ‘ μ¦κ°νλ―λ‘ κ΄λ¦¬κ° νΈλ¦¬ν©λλ€.
β
3οΈβ£ Auto Incrementμ λ¨μ .
-
1. κ°μ΄ μμ λλ©΄ λ€μ 볡ꡬλμ§ μμ΅λλ€.
- μ: article_id = 1, 2, 3μ΄ μ‘΄μ¬ν λ 2λ₯Ό μμ νλ©΄ λ€μ μ½μ
κ°μ 4κ° λ©λλ€.
- μλ μ¦κ° κ°μ μ¬μ¬μ©λμ§ μμ΅λλ€.
-
2. λ°μ΄ν° λ§μ΄κ·Έλ μ΄μ
μ μΆ©λ κ°λ₯μ±μ΄ μμ΅λλ€.
- μ¬λ¬ μλ²μμ λμΌν Auto Increment κ°μ μ¬μ©νλ κ²½μ° PK μΆ©λ κ°λ₯μ±μ΄ μμ΅λλ€.
- μ΄ λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄ UUID λ Snowflake κ°μ ID μμ± μ λ΅μ μ¬μ©ν μλ μμ΅λλ€.
-
3. λ€μ€ ν
μ΄λΈμ μ¬μ©ν μ€λ©(Sharding) νκ²½μμλ λΆνΈν μ μμ΅λλ€.
- Auto Incrementλ λ¨μΌ DBμμ μ¦κ°νλ κ°μ΄λ―λ‘ λΆμ° νκ²½μμλ μΆ©λ μνμ΄ μμ΅λλ€.
π κ²°λ‘ .
-
Auto Incrementλ κ°μ₯ μ½κ² μ¬μ©ν μ μλ PK μμ± μ λ΅μ΄λ©° λλΆλΆμ κ²½μ° μ ν©ν©λλ€.
- νμ§λ§ λ€μ€ DB νκ²½μ΄λ λΆμ° μμ€ν
μμλ UUIDλ Snowflake κ°μ λ€λ₯Έ μ λ΅μ κ³ λ €ν΄μΌ ν©λλ€.