반응형

SQL 3

20. 인덱싱 : SQL 쿼리 최적화

인덱스인덱스란데이터베이스 테이블에 대한 검색 성능의 속도를 높여주는 자료구조특정 컬럼에 인덱스를 생성하면, 해당 컬럼의 데이터들을 정렬하여 데이터의 물리적 주소와 함께 별도의 메모리 공간에 저장인덱스 생성 시 오름차순으로 정렬인덱스의 동작 원리B-Tree개념좌우 균형을 유지하는 트리, 이진트리의 단점을 극복 가능이진트리와 다르게 한 노드에 여러 key 저장 가능최대자식노드 개수가 m개일 때, m차 b-tree라고 함특징부모노드의 key의 개수+1 만큼 자식 노드를 가짐leaf 노드는 모두 같은 레벨에 존재B+Tree특징데이터 저장은 leaf node에만 함leaf node끼리는 linked list로 연결Hash실제로 인덱스에서 그렇게 많이 사용되지는 않음Hash 테이블은 컬럼의 값, 물리적 주소를 ke..

개발/Web-Backend 2025.06.30

19. DB 성능 최적화

DB 성능 튜닝 개요 (Introduction to DB Performance Tuning)DB 성능 튜닝의 정의와 필요성데이터베이스의 전반적인 응답 속도와 처리 효율을 향상시키기 위한 일련의 기법과 작업튜닝 영역SQL 쿼리 최적화인덱스 설계하드웨어 자원 할당캐시 및 버퍼 설정병목 분석 및 구조적 리팩토링성능 병목전체 시스템 성능을 저해하는 가장 느린 구성 요소나 단계병목이 존재하면 그 외 요소들을 최적화해도 전체 성능이 개선되지 않음최적화 단계에서는 병목을 우선 파악하고 진행튜닝이 필요한 상황 예시특정 페이지 혹은 기능의 응답 지연슬로우 쿼리 지속 발생 (SQL 실행 시간이 몇 초 이상 소요)동시접속자 증가 시 서비스 속도 급격히 저하DB 서버의 CPU/메모리 사용률 급등웹/모바일 서비스에서 간헐적 타..

개발/Web-Backend 2025.06.27

10. ORM 개념

ORM(Object Relational Mapping)정의객체와 관계형 DB의 데이터를 자동으로 매핑해주는 것을 말함객체 지향 프로그래밍은 클래스를 사용, 관계형 DB는 테이블을 사용이들 모델간의 불일치를 ORM을 통해 SQL을 자동으로 생성하여 해결객체를 통해 간접적으로 데이터베이스 데이터를 다룸Persistant API라고도 할 수 있음Persistence : 프로그램이 종료되더라도 사라지지 않는 데이터의 특성ORM의 작동 원리메타데이터 기반 매핑 정보 관리클래스와 DB 테이블간의 매핑 정보를 메타데이터로 유지클래스 구조, 데이터 타입, 제약 조건, 외래 키 관계 등을 기반으로 테이블과 컬럼 구조 인식 및 자동 처리SQL 생성 및 실행 자동화자용자가 작성한 객체 조작 로직에 따라 자동으로 SQL 문 ..

개발/Web-Backend 2025.06.19