본문 바로가기

정리8

[친절한 SQL 튜닝] 인덱스 튜닝 (1) 테이블 액세스 최소화, 부분범위 처리 활용 작년에 면접 준비를 하면서 DB 인덱스에 대해서 정리한 내용이 있다. https://minnseong.tistory.com/19아래 내용보다는 "친절한 SQL 튜닝"을 읽으면서 실무적인 내용과 새로운 개념을 배울 수 있어 책을 읽어보는 것도 추천한다! [DB] Index 정리Index 추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스의 검색 속도를 향상하기 위한 자료구조 Index를 통해 검색 속도 향상과 조회 성능을 높일 수 있다. Index를 사용하지 않는minnseong.tistory.com 제 3장. 인덱스 튜닝은 내용이 많아 두 파트로 나눠 정리를 했다.인덱스 튜닝 (1) : 테이블 액세스 최소화, 부분범위 처리 활용인덱스 튜닝 (2) : 인덱스 스캔 효율화, 인덱스 설계 01. SQL 튜.. 2024. 5. 5.
[친절한 SQL 튜닝] 인덱스 기본 작년에 면접 준비를 하면서 DB 인덱스에 대해서 정리한 내용이 있다. https://minnseong.tistory.com/19 아래 내용보다는 "친절한 SQL 튜닝"을 읽으면서 실무적인 내용과 새로운 개념을 배울 수 있어 책을 읽어보는 것도 추천한다! [DB] Index 정리 Index 추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스의 검색 속도를 향상하기 위한 자료구조 Index를 통해 검색 속도 향상과 조회 성능을 높일 수 있다. Index를 사용하지 않는 칼럼을 조 minnseong.tistory.com 01. 인덱스 대용량 테이블에서 필요한 데이터만 빠르게 효율적으로 액세스 하기 위해 사용하는 오브젝트 인덱스가 정렬되어 있기 때문에 범위 스캔이 가능하다. 일반적으로 B+ 트리 인덱스를 사.. 2024. 4. 21.
[친절한 SQL 튜닝] 데이터 저장 구조 및 I/O 메커니즘 01. SQL이 느린 이유? 디스크 I/O, 디스크(ex 하드디스크)에서 읽기 또는 쓰기 요청 처리하는 시간의 백분율 디스크에서 데이터를 읽어야 할 땐 CPU를 OS에 반환하고 잠시 waiting 상태에서 I/O가 완료되기를 대기 I/O 작업이 많으면, 성능이 많은 영향을 준다. 02. 기본 단위, 블록 데이터 베이스에서 데이터를 읽고 쓰는 단위 = 블록(Block) (오라클 8KB) 데이터 I/O 단위가 블록이므로 특정 레코드 하나를 읽고 싶어도 해당 블록을 통째로 읽는다. 인덱스도 블록 단위로 데이터를 읽고 쓴다. 03. 테이블 블록을 액세스 하는 방식 시퀀스 엑세스 논리적 또는 물리적으로 연결된 순서에 따라 차례대로 블록을 읽는 방식 ex) 인덱스 리프 블록은 앞뒤를 가리키는 주소값을 통해 논리적으.. 2024. 2. 3.
[Java] JVM 정리 (JVM의 개념, 실행과정, 구조) JDK vs JRE JDK (Java Development Kit) 자바를 개발 시 필요한 라이브러리와 javac, javadoc 등의 개발 도구 포함 자바 프로그램을 실행시키기 위한 JRE(Java Runtime Environment) 포함 Java SE (Java Standard Edition) 가장 기본이 되는 표준 에디션의 자바 플랫폼으로 자바 언어의 핵심 기능 제공 Java EE (Java Enterprise Edition) 대규모 기업용 에디션, SE 확장판 JRE (Java Runtime Environment) JVM과 자바 프로그램을 실행시킬 때 필요한 라이브러리 API를 함께 묶어서 배포되는 패키지 JRE은 기본적으로 JDK에 포함되어 있어 JDK를 설치하면 함께 설치된다. JVM (Ja.. 2023. 7. 12.
[DB] 트랜잭션 정리 트랜잭션? 데이터베이스의 상태를 변화시키는 하나의 논리적인 작업 단위 DB에서 데이터를 다룰 때 장애가 일어난 경우 데이터를 복구하는 작업의 단위 트랜잭션은 전체가 수행되거나 또는 전체가 수행되지 않아야 한다. (ALL or Nothing) ex) 데이터베이스에 삽입, 수정, 삭제 등의 작업을 할 때, 여러 개의 작업들을 하나의 트랜잭션으로 묶습니다. 트랜잭션 연산 Commit : 트랜잭션이 성공하여 트랜잭션 결과를 영구적으로 반영하는 연산 Rollback : 트랜잭션 도중 실패하여 트랜잭션 실행을 취소하여 원래의 상태로 원상 복구시키는 연산 자동 커밋 : 자동 커밋으로 설정하면 각 쿼리는 실행 직후 자동으로 commit이 호출되어 결과가 반영된다. 따라서 commit이나 rollback을 따로 호출하지.. 2023. 6. 17.
[DB] Index 정리 Index 추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스의 검색 속도를 향상하기 위한 자료구조 Index를 통해 검색 속도 향상과 조회 성능을 높일 수 있다. Index를 사용하지 않는 칼럼을 조회하는 상황에서는 테이블 전체를 탐색하는 Table Full Scan이 수행되어 처리 속도가 떨어진다. 인덱스를 활용하면, SELECT 외에도 UPDATE와 DELETE 성능을 향상할 수 있다. UPDATE와 DELETE의 WHERE문에서 데이터를 조회하는 성능을 향상된다. Index 적용 예시 // single column index CREATE INDEX si_id ON MEMBER (id); CREATE INDEX si_name ON MEMBER (name); // multi column index.. 2023. 6. 13.