MySQL 2

데이터베이스 인덱스 이해해보기

데이터베이스에서 인덱스란 데이터베이스에서 인덱스는 자료구조 형태로 저장 됩니다. MySQL에서는 일반적으로 B+ Tree 형태로 저장이 되는데요! B+ Tree란 B+ Tree에 데이터를 삽입, 검색하는 과정을 알아보면 왜 인덱스를 활용하면, 데이터 검색 속도가 왜 빨라지는지 알 수 있습니다. B+ Tree에 데이터를 삽입할 때, 상위 노드로 올라가는 기준은 page size가 꽉 찼을때의 데이터 개수가 n 이라면 n-1/2+2번째 입니다. 만약 n이 짝수라면, n-1/2번째가 상위 노드로 올라가게 됩니다. 아래 링크는 B+ Tree를 실습할 수 있는 사이트 링크 입니다. https://www.cs.usfca.edu/~galles/visualization/BPlusTree.html 클러스터형 인덱스란? ..

디비 2022.09.11

DB Connection Pool에 대해서

커넥션 풀이란? 데이터베이스와 연결된 커넥션을 미리 만들어서 저장해두고 있다가 필요할 때 저장된 공간(pool)에서 가져다 쓰고 반환하는 기법 커넥션 풀 확인하는 방법 Mysql command $ show processlists; 스프링에서 커넥션풀(HikariCP)에 대한 로그 확인하는법 (application.yml) logging: level: com.zaxxer.hikari.HikariConfig: DEBUG com.zaxxer.hikari: TRACE 왜 커넥션 풀이 필요할까? 음식점에 손님이 몰려오기전에 미리 음식을 준비 해놓는것과 비슷하다. 커넥션을 생성하는 비용이 사용자의 요청을 처리하는데 상당한 비용이 들기 때문에 미리 커넥션(음식)을 준비해 두는것이다. 물론 손님이 많이 없으면 필요없다..

디비 2022.09.03