본문 바로가기 메뉴 바로가기

해봤어?

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

해봤어?

검색하기 폼
  • 분류 전체보기 (31)
    • 기타 (4)
    • spring (14)
    • mysql (1)
    • jpa (4)
    • 내생각 (5)
    • 참고자료 (0)
    • 회고 (0)
  • 방명록

2025/05/26 (1)
데이터베이스 인덱스는 왜 'B-Tree'를 선택 했을까?

B-Tree란?B-Tree는 기존 이진 탐색 트리에서 최악의 경우 시간 복잡도가 O(N)이 되는 문제를 해결하기 위해, 노드들이 한쪽으로 치우치지 않도록 균형을 유지하도록 설계된 트리이다. 그렇다면 데이터베이스 인덱스는 왜 B-tree를 선택 했을까? 배열을 사용하지 않는 이유데이터베이스에 수십억건의 대량의 데이터가 저장될 수 있는데, 이를 배열로 관리하면 메모리에 모든 데이터를 한 번에 올려야 하므로 비효율적이다.또한 삽입, 삭제시 최악의 경우 O(N)으로 비효율적이다. 연결 리스트를 사용하지 않는 이유연결 리스트의 경우 배열의 단점인 삽입, 삭제시 시간복잡도가 O(1)로 효율적이다.하지만 연결 리스트의 경우 조회시 최악의 경우 시간 복잡도가 O(N)으로 비효율적이다. 해시 테이블을 사용하지 않는 이유..

내생각 2025. 5. 26. 15:34
이전 1 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
  • 구글 소셜로그인
  • Spring Boot 3
  • dto 위치
  • dto 검증
  • User Scenario
  • HandlesTypes
  • 레이어드 아키텍처
  • org.springframework:spring-webflux
  • ServletContainerInitializer
  • BasicBinder
  • JPA SQL Injection
  • @Converter
  • @FormProperty
  • FormProperty
  • CreationTimestamp
  • 유저 스토리
  • defer-datasource-initialization
  • Attribute Converter
  • 유저 시나리오
  • DispatcherServletInitializer
  • entity 검증
  • @ElementCollection
  • java 17
  • HTTPInterface
  • WebFlux 의존성
  • ValidateException
  • feignClient
  • 구글 OpenID
  • CreatedDate
  • setDateFormat
more
«   2025/05   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바