분류 전체보기 3

Spring @Transactional 동작 원리

@Transactional 역할Spring 프레임워크에서는@Transactional 어노테이션을 통해 트랜잭션을 선언적으로 관리할 수 있습니다. @Transacational 동작 원리기본적으로 Spring은 프록시 기반의 어드바이스 모드를 사용하여 @Transactional 어노테이션을 처리합니다.프록시 기반 인터셉션: 트랜잭션은 프록시를 통해 관리되며, 외부에서 들어오는 메서드 호출을 인터셉트합니다. 그러나 같은 클래스 내에서 메서드가 호출되는 경우에는 프록시가 적용되지 않습니다.제한 사항: 같은 클래스 내에서 호출되는 메서드는 트랜잭션 관리의 대상이 되지 않습니다. 즉, 메서드 A가 메서드 B를 호출하더라도, 메서드 B는 트랜잭션을 적용받지 않을 수 있습니다.@Transactional 우선순위Clas..

BackEnd/Spring 2024.08.02

Tibero 통계정보 생성 가이드

개요Optimizer는 실행 가능한 Plan 중에서 자원 사용에 대한 비용이 가장 낮은 것을 기반으로 최적화를 수행하며 이것을 Cost Based Optimizer(CBO)라고 한다.낮은 비용은 더 효율적인 실행 계획을 수행할 수 있기 때문에 실행 계획에 대한 정확한 비용을 산정하기 위해서는 SQL 문이 접근하는 모든 Object에 대한 정보와 SQL 문이 실행되는 System에 대한 정보가 필요하다.Table과 Index를 포함한 모든 Object 정보 및 System 정보를 Optimizer 통계라고 한다.적정한 성능을 유지하기 위해서는 효율적인 통계 정보 수집 시간과 수집 방법을 결정해야 하며 이를 위해서는 Optimizer 통계의 특성과 통계 수집 방법을 숙지하는 것이 SQL을 최적화하여 실행하는..

Database/Tibero 2024.07.29

효과적인 인덱스 적용방법

인덱스(INDEX)란 검색 속도를 높이기 위한 색인 기술입니다효과적인 인덱스 생성 방법카디널리티(Cardinality) : 특정 데이터 집합에서 유니크한 값의 개수카디널리티가 높으면 인덱스 선정에 좋은 컬럼선택도(Selectivity) : 선택도 = (카디널리티 / 전체 row)선택도가 낮으면 인덱스 선정에 좋은 컬럼(일반적으로 5~10%가 적당함.) 인덱스 생성 시 어떤 컬럼들로 조합을 할지...단일 인덱스일반적으로 단일 인덱스를 채택하는 경우에는 카디널리티가 높고, 선택도(분포도)가 낮은 컬럼을 채택결합 인덱스결합인덱스 생성시 컬럼 순서에 따라 인덱스 성능에 차이가 생김 결합 인덱스 컬럼 순서 결정 방법쿼리 예시SELECT * FROM BOARDWHERE CATEGORY = '01' AND ..

Database/Common 2024.07.26