λΆλ₯ μ 체보기(61)
-
JOIN - λ©΄μ λλΉ
2024.01.03 μΌμλ‘ μ§ν μμ μΈ λ©΄μ μ€ν°λ μ€λΉμ μΌνμΌλ‘, λ°°μ λ ννΈμΈ JOINμ λν΄ μ 리 νμ μ΄λ₯Ό ν λλ‘ λμΆν΄λ³Όλ§ν μ§λ¬Έλ€μ μμ±νκ² μ΅λλ€. μ‘°μΈμ΄λ? μ‘°μΈμ΄λ RDBμμ μ¬λ¬ ν μ΄λΈμ κ±Έμ³ μ‘΄μ¬νλ λ°μ΄ν°λ€μ ν¨κ» μ‘°ννκΈ° μν΄ ν μ΄λΈμ κ²°ν©νλ κ²μ μλ―Ένλ€. μ‘°μΈ μ λ¨Όμ μ κ·Όνκ² λλ ν μ΄λΈμ λλΌμ΄λΉ ν μ΄λΈμ΄λΌκ³ νκ³ , λλΌμ΄λΉμ νΉμ μΉΌλΌ κ°μ μ΄μ©νμ¬ λ€μ μ‘°νλλ ν μ΄λΈμ λλ¦¬λΈ ν μ΄λΈμ΄λΌκ³ νλ€. μ‘°μΈμ μ’ λ₯μλ INNER JOIN, OUTER JOIN, CROSS JOIN, SELF JOIN λ±μ΄ μλ€. μ‘°μΈ μκ³ λ¦¬μ¦ μ‘°μΈ μκ³ λ¦¬μ¦μλ NL μ‘°μΈ(Nested Loop), μνΈ λ¨Έμ§ μ‘°μΈ(Sort merge), ν΄μ μ‘°μΈ(Hash) λ±μ΄ μλ€. NL μ‘°μΈ NL μ‘°μΈμ΄λ..
2024.01.02 -
μ΄μ νμ, μ κ·ν - λ©΄μ λλΉ
2024.01.03 μΌμλ‘ μ§ν μμ μΈ λ©΄μ μ€ν°λ μ€λΉμ μΌνμΌλ‘, λ°°μ λ ννΈμΈ μ΄μ νμ, μ κ·νμ λν μ 리 νμ μ΄λ₯Ό ν λλ‘ λμΆν΄λ³Όλ§ν μ§λ¬Έλ€μ μμ±νκ² μ΅λλ€. μ΄μ νμ μ΄μ νμμ΄λ μλͺ»λ ν μ΄λΈ μ€κ³λ‘ μΈν΄ λ°μν μ μλ ν μ΄λΈ λ 벨μ λ¬Έμ μ λ€μ μλ―Ένλ€. μ΄μ νμμμλ μ½μ μ΄μ, μμ μ΄μ, μμ μ΄μμ΄ μ‘΄μ¬νλ€. μ΄μ νμμ ν΄κ²°νκΈ° μν΄, μ κ·νλΌλ κ°λ μ΄ μ‘΄μ¬νλ€. μ΄μ νμλ€μ μ€λͺ νκΈ° μν΄ μμλ‘ μλ ν μ΄λΈμ΄ μ‘΄μ¬νλ€κ³ κ°μ νμ. μ΄ λ μλͺ»λ ν μ΄λΈ μ€κ³λ‘ μΈν΄ νκ³Ό ν μ΄λΈμ΄ λ°λ‘ μ‘΄μ¬νμ§ μλ μν©μΌλ‘ κ°μ νμ. νλ²(PK) μ΄λ¦ νκ³Ό νκ³Ό μ¬λ¬΄μ€ xxxxxxx κΉμ² μ μ»΄ν¨ν° 곡νκ³Ό 곡과 λν 401νΈ xxxxxxx νκΈΈλ μνκ³Ό μμ° λν 201νΈ xxxxxxx λ°..
2024.01.01 -
λ³΅ν© μΈλ±μ€ νμ© κ²½μ°μ μ
λ€μν λ°μ΄ν°μ μ κ·Ό ννμ μΌμΌμ΄ λμνμ¬ μΈλ±μ€λ₯Ό λ§μ΄ λ§λ€ μ μλ νκ²½μ΄λΌλ©΄ μΈλ±μ€ μμ±μ μμ΄ κ³ λ―Όμ μ¬μ§κ° μ κ² μ§λ§, μμ½κ²λ μΈλ±μ€κ° λ§μμ§λ©΄ λ§μμ§μλ‘ κ·Έμ λ°λ₯Έ μ¬μ΄λ μ΄ννΈ(DML μ±λ₯ μ ν, μ μ₯ κ³΅κ° μ°¨μ§)κ° μ‘΄μ¬νλ€. λ°λΌμ μ μ μμ μΈλ±μ€λ₯Ό μ μ§νλ λμμ λ€μν λ°μ΄ν° μ κ·Ό ννμ λν΄ μΈλ±μ€ μ€μΊμ μ§μνλ κ²μ μ€μνλ€. μ΄λ₯Ό μν΄μλ λ³΅ν© μΈλ±μ€ κΈ°λ°μΌλ‘ νλμ μΈλ±μ€κ° μ¬λ¬ μν©μ 컀λ²ν μ μλλ‘ ν μ΄λΈ μ€κ³κ° μ΄λ£¨μ΄μ ΈμΌ νλ€. ν΄λΉ κΈμμλ μ΄λ₯Ό λκΈ° μν΄ λ³΅ν© μΈλ±μ€κ° μ΄λ€ λ°©μμΌλ‘ μλνλμ§ μμλ³΄κ³ , λ³΅ν© μΈλ±μ€κ° μλνλ κ²½μ°μ μμ λν΄ λ€λ€λ³΄λ €κ³ νλ€. μ΄ κΈμ Mysql κΈ°μ€μΌλ‘ μμ±λμλ€. λ³΅ν© μΈλ±μ€ μλ λ°©μ λ³΅ν© μΈλ±μ€λ λ μ΄μμ μΉΌλΌμ ν΅ν΄ ..
2023.12.31 -
λ©΄μ λλΉ μ§λ¬Έ μμ (μ΄μ체μ )
23.12.27 μΌμλ‘ μ§νλ λ©΄μ λλΉ μ€ν°λμμ λμλ λ΄μ©λ€μ μμΉ΄μ΄λΉνκΈ° μν λ¬Έμμ λλ€. λ¬Έμλ μ€ν°λμμ λμλ μ§λ¬Έλ€κ³Ό μ΄μ λν΄ μ¬ν μ 리ν λ΄μ©λ€μ μ΄κ±°νλ μμΌλ‘ μμ±νκ² μ΅λλ€. μ΄μ체μ 1. μ΄μ체μ λ? > λ΅λ³ μ΄μ체μ λ νλμ¨μ΄μ μ¬μ©μ μ¬μ΄μ μμΉνμ¬ μ¬μ©μλ‘ νμ¬κΈ μ»΄ν¨ν 리μμ€λ₯Ό μ½κ² μ¬μ©ν μ μλλ‘ μΆμννκ³ , μ μ ν μ€μΌμ€λ§μ ν΅ν΄ μ¬μ©μλ‘ νμ¬κΈ μ¬λ¬ νλ‘μΈμ€κ° λμμ μ²λ¦¬λλ κ²μ²λΌ λλΌκ²νλ©°, μ»΄ν¨ν 리μμ€μ λν ν¨μ¨μ μΈ κ΄λ¦¬λ₯Ό μννλ μΌμ’ μ μννΈμ¨μ΄μ΄λ€. μ΄μ체μ λ₯Ό ꡬμ±νλ μμλ‘λ μ΄μ체μ μ ν΅μ¬μΌλ‘ λ³Ό μ μλ 컀λκ³Ό μ, μμ€ν μ½κ³Ό κ°μ μΈν°νμ΄μ€ λ±μΌλ‘ ꡬμ±λμ΄μλ€. 2. μ΄μ체μ κ° κ΄λ¦¬νλ νλμ¨μ΄ > λ΅λ³ μ΄μ체μ κ° κ΄λ¦¬νλ νλμ¨μ΄λ‘λ λμ€ν¬(..
2023.12.27 -
λ±νΈ μ°μ°μμ LIKE μ°μ°μ κ° λΉκ΅
μΌλ§ μ SQL 쿼리λ₯Ό μμ±νλ€κ° λ¬Έλ λ¬Έμμ΄ μΉΌλΌμ νΌμΌνΈ(%) κΈ°νΈμμ΄ LIKEλ₯Ό μ°λ κ²κ³Ό 곧λ°λ‘ λ±νΈ μ°μ°μλ₯Ό μ°λ κ²μ μ΄λ€ μ°¨μ΄κ° μλμ§ μλ¬Έμ΄ μκ²Όλ€. λ€λ§ μ΄λ₯Ό 곧λ°λ‘ ν΄κ²°νμ§ μμλ€κ° μκ³ μμλλ°, μ€ν°λλ₯Ό μν΄ μ± μ μ½λ€κ° LIKE μ°μ°μλ₯Ό μ¬μ©ν λμ λ±νΈ μ°μ°μλ₯Ό μ¬μ©ν λ λ΄λΆμ μΈ μλ λ°©μμ΄ μ°¨μ΄κ° μλ κ²μΌλ‘ μκ°λμ΄ μ΄λ₯Ό μ 리νκ³ μ μ΄ κΈμ μμ±νλ€. ν΄λΉ λ¬Έμλ Mysqlμ κΈ°μ€μΌλ‘ μμ±λμμΌλ©°, λ€λ₯Έ DBμ κ²½μ° λ€λ₯΄κ² μλν μ¬μ§κ° μμ΅λλ€. LIKE vs Equal(=) LIKEλ₯Ό μ¬μ©ν κ²½μ° μμΌλμΉ΄λμ λμμ λ°μμ λ μμ λ‘μ΄ λ°©μμ λ¬Έμμ΄ λΉκ΅κ° κ°λ₯νλ€λ κ²μ λλΆλΆμ΄ μλ μ¬μ€μ΄λ λμ΄κ°λλ‘ νμ. (Equalμμλ μμΌλμΉ΄λλ€λ μ λΆ λΉκ΅ λ¬Έμμ΄μ μΌλΆλ‘..
2023.12.17 -
Slow Query νμΈλ² (in Mysql, Postgresql)
λλ¦° 쿼리λ₯Ό κ°μ νλ κ²μ μ¬μ©μμ μ μ₯μμλ μ€μνμ§λ§ DB λ 벨μ ν¨μ¨μ μμκ΄λ¦¬λ₯Ό μν΄μλ κΌ νμν μΌμ΄λ€. μ΄λ»κ² 쿼리μ μ€ν μκ°λ€μ νμΈν μ μμκΉ? μ§μ μΌμΌμ΄ μ€νμμΌλ³΄λ©΄μ μκ°μ μ¬μΌ νλ? λ€ννλ μΌλΆ DBλ€μ κ·Έλ€ μλ²μμ μνλλ 쿼리 μ€ μλ²μ μ μν₯μ λ―ΈμΉ μ μλ Slow Query(μ¬λ‘μ° μΏΌλ¦¬)λ€μ λ°λ‘ μ μ₯ν΄λκ³ , μ΄λ₯Ό κ°λ°μλ€μ΄ νμΈν μ μλλ‘ νκ³ μλ€. μ΄ κΈμμλ μ¬λ‘μ° μΏΌλ¦¬μ νμΈμ΄ μ©μ΄ν λ DB, Mysqlκ³Ό Postgresqlμμ μ΄λ₯Ό μ€μ νκ³ νμΈνλ λ²μ λ€λ£¨λ €κ³ νλ€. Mysql μ€μ λ² Mysqlμμλ μλ λ΄μ©μ my.cnfμ μΆκ°νλ©΄ 1μ΄ μ΄μ 걸리λ 쿼리λ₯Ό μ¬λ‘μ° μΏΌλ¦¬λ‘ μμ νκ³ μ΄μ λν μμ§μ΄ μμλλ€. λ¬Όλ‘ μ€μ νμΌμ μμ νκΈ° λλ¬Έμ ..
2023.12.13