반응형 SQL5 조인 튜닝 (1) NL 조인 조인의 기본은 NL 조인이다. NL은 Nested Loops 조인의 약어다. 즉 중첩 루프문과 같은 수행 구조를 사용한다. 일반적으로 NL 조인은 Outer와 Inner 양쪽 테이블 모두 인덱스를 사용한다. Outer 쪽 테이블은 사이즈가 크지 않으면 인덱스를 이용하지 않을 수 있다. Table Full Scan 하더라도 그것은 한 번에 그치기 때문이다. Inner 쪽 테이블은 인덱스를 사용해야 한다. Inner 루프에서 외래키로 데이터를 검색할 때 인덱스를 이용하지 않으면, Outer 루프에서 읽은 건수만큼 Table Full Scan을 반복하기 때문이다. NL 조인은 '인덱스를 이용한 조인 방식'이라고 할 수 있다. 튜닝 포인트 Outer Table 인덱스를 읽고 나서 Outer Table.. Database/SQL 튜닝 2023. 8. 24. 인덱스 튜닝 1. 테이블 액세스 최소화 테이블 랜덤 액세스 인덱스 ROWID는 물리적 주소? 논리적 주소? 인덱스를 스캔하는 이유는, 검색 조건을 만족하는 소량의 데이터를 인덱스에서 빨리 찾고 거기서 테이블 레코드를 찾아가기 위한 주소 값, 즉 ROWID를 얻으려는 데 있다. 인덱스 ROWID는 물리적 주소보다 논리적 주소에 가깝다. 물리적으로 직접 연결되지 않고 테이블 레코드를 찾아가기 위한 논리적 주소 정보를 담고 있기 때문이다. ROWID는 프로그래밍에서 말하는 포인터가 아니며, 테이블 레코드와 물리적으로 직접 연결된 구조는 더더욱 아니다. 오라클 같은 경우는 테이블 블록이 수시로 버퍼캐시에서 밀려났다가 다시 캐싱되며, 그때마다 다른 공간에 캐싱되기 때문에 인덱스에서 포인터로 직접 연결할 수 없는 구조다. 메모.. Database/SQL 튜닝 2023. 8. 23. 인덱스 기본 인덱스 구조 및 탐색 RDBMS 테이블에서 데이터를 찾는 방법은 두 가지다. 테이블 전체 스캔 인덱스 이용 인덱스는 큰 테이블에서 소량 데이터를 검색할 때 사용한다. 세부적인 인덱스 튜닝 방법의 핵심은 크게 두 가지다. 첫 번째는 인덱스 스캔 과정에서 발생하는 비효율을 줄이는 것이다. 즉, 인덱스 스캔 효율화 튜닝이다. 두 번째는 테이블 액세스 횟수를 줄이는 것이다. 인덱스 스캔 후 테이블 레코드를 액세스할 때 랜덤 I/O 방식을 사용하므로 이를 '랜덤 액세스 최소화 튜닝'이라고 한다. 둘 중 더 중요한 것은 랜덤 액세스 최소화 튜닝이다. 결국 SQL 튜닝은 랜덤 I/O와의 전쟁이다. DB 성능이 느린 이유는 디스크 I/O 때문이다. 읽어야 할 데이터량이 많고, 그 과정에 디스크 I/O가 많이 발생할 때.. Database/SQL 튜닝 2023. 8. 22. JPA 2023. 02.07 09:00 복습 시작 JPA란 무엇인가? JPA는 자바 진영의 ORM 기술 표준이다. 그럼 ORM이란 무엇인가? ORM은 Object-Relational Mapping의 줄임말이다. 이름 그대로 객체와 관계형 데이터베이스를 매핑하는 것이다. 즉 SQL을 직접 짜지 않고 자바 코드로 편하게 객체를 ORM 프레임워크에 저장하면 데이터베이스에 저장할 수 있다. 예전에 Express와 Prisma를 다루어본 적이 있어서 쉽게 이해가 갔다. JPA에 대해 간단히 알아보았다. 그럼 더 중요한 궁금증이 남아있다. 우리는 왜 JPA, 즉 ORM을 사용할까? 웹 서비스를 운영하려면 고객 데이터도 저장하고 서비스 데이터도 저장해야 하고 또 이 데이터들을 사용해야 한다. 그러면 데이터를 저장하고 꺼내오.. 개발/JPA 2022. 2. 22. 데이터 과학과 빅데이터 2022. 12. 14. 01:30 수정 및 복습 시작 데이터 과학 데이터 과학은 필수적이다. 4차 산업혁명 시대로 진입하며 빅데이터, 사물 인터넷, 인공지능 등 핵심 기술의 중심에 데이터가 있다. 21세기의 원유는 즉 데이터다. 전통적인 방식으로 데이터를 수집하고 저장하는데 한계가 있다. 현대 데이터는 방대한 규모와 다양한 형태가 존재한다. 단순히 데이터를 분류하고 검색하는 것을 넘어, 방대한 양의 데이터 속에 숨겨진 규칙과 패턴을 찾아내 문제 해결에 활용하고 미래의 일을 예측하여 미리 준비하기를 우리는 원하고 있다. 이 말은 다양해진 데이터 활용에 대한 요구가 늘어난다는 것이다. 데이터 과학의 개념은 데이터를 수집한 후 분석을 통해 데이터를 정확히 이해함으로써 그 속에 숨겨진 새로운 지식을 발견하고,.. Database/Database 기초 2021. 11. 29. 이전 1 다음 반응형