πŸƒπŸƒ‍β™‚οΈπŸƒπŸ»‍♀️

πŸƒπŸƒ‍β™‚οΈπŸƒπŸ»‍♀️

  • λΆ„λ₯˜ 전체보기 (64)
    • Network (4)
      • Network μŠ€ν„°λ”” (4)
    • Database (6)
      • DB μŠ€ν„°λ”” (15)
    • CS (12)
      • CS μŠ€ν„°λ”” (12)
    • Backend (16)
      • NestJS (7)
      • Spring (6)
    • λ©΄μ ‘ μ€€λΉ„ (6)
      • λ©΄μ ‘ μŠ€ν„°λ”” (5)
    • CI, CD (1)
      • Etc (1)
    • μ–Έμ–΄ (4)
      • Javascript(Node, TS...) (4)
    • 기술적 κ³ λ―Ό (0)
  • ν™ˆ
  • νƒœκ·Έ
  • λ°©λͺ…둝
  • Github
RSS ν”Όλ“œ
둜그인
λ‘œκ·Έμ•„μ›ƒ κΈ€μ“°κΈ° 관리

πŸƒπŸƒ‍β™‚οΈπŸƒπŸ»‍♀️

컨텐츠 검색

νƒœκ·Έ

node.js ν”„λ‘œμ„ΈμŠ€ SQL Nest.js λ°±μ—”λ“œ CS OS db K6 Database PostgreSQL 인덱슀 운영체제 λ©΄μ ‘ NestJS MySQL λ„€νŠΈμ›Œν¬ Spring TypeScript JPA

μ΅œκ·ΌκΈ€

λŒ“κΈ€

곡지사항

μ•„μΉ΄μ΄λΈŒ

인덱슀(3)

  • 볡합 인덱슀 ν™œμš© 경우의 수

    λ‹€μ–‘ν•œ λ°μ΄ν„°μ˜ μ ‘κ·Ό ν˜•νƒœμ— 일일이 λŒ€μ‘ν•˜μ—¬ 인덱슀λ₯Ό 많이 λ§Œλ“€ 수 μžˆλŠ” ν™˜κ²½μ΄λΌλ©΄ 인덱슀 생성에 μžˆμ–΄ 고민의 μ—¬μ§€κ°€ μ κ² μ§€λ§Œ, μ•„μ‰½κ²Œλ„ μΈλ±μŠ€κ°€ λ§Žμ•„μ§€λ©΄ λ§Žμ•„μ§ˆμˆ˜λ‘ 그에 λ”°λ₯Έ μ‚¬μ΄λ“œ μ΄νŽ™νŠΈ(DML μ„±λŠ₯ μ €ν•˜, μ €μž₯ 곡간 μ°¨μ§€)κ°€ μ‘΄μž¬ν•œλ‹€. λ”°λΌμ„œ 적은 수의 인덱슀λ₯Ό μœ μ§€ν•˜λŠ” λ™μ‹œμ— λ‹€μ–‘ν•œ 데이터 μ ‘κ·Ό ν˜•νƒœμ— λŒ€ν•΄ 인덱슀 μŠ€μΊ”μ„ μ§€μ›ν•˜λŠ” 것은 μ€‘μš”ν•˜λ‹€. 이λ₯Ό μœ„ν•΄μ„œλŠ” 볡합 인덱슀 기반으둜 ν•˜λ‚˜μ˜ μΈλ±μŠ€κ°€ μ—¬λŸ¬ 상황을 컀버할 수 μžˆλ„λ‘ ν…Œμ΄λΈ” 섀계가 이루어져야 ν•œλ‹€. ν•΄λ‹Ή κΈ€μ—μ„œλŠ” 이λ₯Ό 돕기 μœ„ν•΄ 볡합 μΈλ±μŠ€κ°€ μ–΄λ–€ λ°©μ‹μœΌλ‘œ μž‘λ™ν•˜λŠ”μ§€ μ•Œμ•„λ³΄κ³ , 볡합 μΈλ±μŠ€κ°€ μž‘λ™ν•˜λŠ” 경우의 μˆ˜μ— λŒ€ν•΄ 닀뀄보렀고 ν•œλ‹€. 이 글은 Mysql κΈ°μ€€μœΌλ‘œ μž‘μ„±λ˜μ—ˆλ‹€. 볡합 인덱슀 μž‘λ™ 방식 볡합 μΈλ±μŠ€λŠ” λ‘˜ μ΄μƒμ˜ μΉΌλŸΌμ„ 톡해 ..

    2023.12.31
  • DB 인덱슀 μƒμ„±μ˜ μ‚¬μ΄λ“œ μ΄νŽ™νŠΈ(with Mysql)

    μ‹€μ œλ‘œ DBλ₯Ό λ‹€λ£¨κ²Œ λ˜λŠ” μƒν™©μ—μ„œ 빠질 수 μ—†λŠ” 것이 λ°”λ‘œ μΈλ±μŠ€μ΄λ‹€. 인덱슀λ₯Ό ν†΅ν•˜λ©΄ νŠΉμ • μ‘°κ±΄μ—μ„œ λ°μ΄ν„°μ˜ 쑰회 μ„±λŠ₯이 λΉ„μ•½μ μœΌλ‘œ μ¦κ°€ν•œλ‹€λŠ” 것은 λˆ„κ΅¬λ‚˜ μ•Œκ³  μžˆλŠ” 사싀이닀. κ·ΈλŸ¬λ©΄μ„œλ„, 인덱슀λ₯Ό λ‚¨λ°œν•˜λ©΄ μ•ˆλœλ‹€λŠ” 것 λ˜ν•œ λ‹€λ“€ μ•Œκ³ μžˆλ‹€. 이 λ•Œ λ“±μž₯ν•˜λŠ” 논리가 λ°”λ‘œ μΈλ±μŠ€κ°€ μ°¨μ§€ν•˜λŠ” 곡간적 λΉ„μš©κ³Ό 데이터 μ‚½μž… μ‹œ μΆ”κ°€μ μœΌλ‘œ λ°œμƒν•˜λŠ” μ‹œκ°„μ  λΉ„μš©μ— λŒ€ν•œ 비쀑을 λ¬΄μ‹œν•  수 μ—†λ‹€λŠ” 것이닀. 그런데 막상 μ΄λ ‡κ²Œ 겁만 μ£Όκ³  μ‹€μ œλ‘œ κ·Έ 정도가 μ–΄λŠ 정도인지 μ•Œλ €μ£ΌλŠ” μžλ£ŒλŠ” 많이 μ—†μ–΄μ„œ 이에 λŒ€ν•΄ μ‹€μ œλ‘œ 확인해보렀고 ν•œλ‹€. ν…ŒμŠ€νŠΈ ν™˜κ²½μ€ Mysql이고, μ•„λ¬΄λŸ° λ¦΄λ ˆμ΄μ…˜μ΄ μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” λ…λ¦½λœ ν…Œμ΄λΈ”μ—μ„œ ν…ŒμŠ€νŠΈλ₯Ό μ§„ν–‰ν•˜μ˜€λ‹€. -- ν…Œμ΄λΈ” 생성 create table item ( id BIGINT NOT NULL..

    2023.11.25
  • 자료ꡬ쑰 in DB 인덱슀

    RDBMS의 μΈλ±μŠ€λž€? μΈλ±μŠ€λž€ DB ν…Œμ΄λΈ”μ—μ„œ νŠΉμ • 데이터에 λŒ€ν•œ 검색 μž‘μ—…μ„ μˆ˜ν–‰ν•  λ•Œ, 검색 μ„±λŠ₯을 높이기 μœ„ν•΄ μ‚¬μš©λ˜λŠ” 도ꡬ이닀. λ§Œμ•½ 데이터 Nκ°œκ°€ μ‘΄μž¬ν•˜λŠ” ν…Œμ΄λΈ”μ—μ„œ νŠΉμ • 칼럼의 값이 X인 데이터λ₯Ό μ°ΎκΈ° μœ„ν•΄μ„œλŠ”, 전체 ν…Œμ΄λΈ”μ„ λͺ¨λ‘ 확인해야 ν•˜λ©° O(N)의 μ‹œκ°„λ³΅μž‘λ„λ₯Ό κ°–λŠ”λ‹€. 이λ₯Ό Full table scan이라고 ν•˜λŠ”λ°, ν•˜λ‚˜μ˜ 데이터λ₯Ό μœ„ν•΄ 맀번 O(N)이 κ±Έλ¦¬λŠ” 것은 μƒλ‹Ήνžˆ λΉ„νš¨μœ¨μ μ΄λ‹€. μ΄λŸ¬ν•œ 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•œ 것이 λ°”λ‘œ μΈλ±μŠ€μ΄λ‹€. 주둜 μ“°μ΄λŠ” B+Tree 자료ꡬ쑰λ₯Ό ν†΅ν•œ 인덱슀λ₯Ό 이용 μ‹œ μœ„μ™€ λ™μΌν•œ μ‘°κ±΄μ—μ„œ O(logN)의 ν–₯μƒλœ μ‹œκ°„λ³΅μž‘λ„λ₯Ό κ°–λŠ”λ‹€. μΈλ±μŠ€μ— μ΄μš©λ˜λŠ” 자료ꡬ쑰 1. Hash Table ν•΄μ‹œ ν…Œμ΄λΈ”μ€ Key - Value μžλ£Œκ΅¬μ‘°μ΄λ‹€. λ”°λΌμ„œ νŠΉμ • λ°μ΄ν„°μ˜ ..

    2023.02.11
이전
1
λ‹€μŒ
ν‹°μŠ€ν† λ¦¬
Β© 2018 TISTORY. All rights reserved.

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”