친절한 SQL 튜닝 - 2. 인덱스 구조 및 탐색
미리 보는 인덱스 튜닝특정 데이터를 찾는 방법은 크게 아래의 두 가지로 나뉜다. 테이블 전체를 스캔한다.인덱스를 이용한다.찾으려는 데이터가 중복이
<Redis> 레디스 활용해서 N개의 랜덤 데이터 가져오기
우선 개발 중인 서버의 요구사항은 아래와 같습니다. Chosung 이라는 테이블이 있고 해당 테이블에서 클라이언트에게 전달될 랜덤한 N개의 초성 데이터를 뽑아내야합니다.
<DB> JDBC 트랜잭션에서 Spring의 @Transactional까지
이전 포스팅까지 저희는 JDBC 기술에 의존하여 Transaction을 적용시켜 보았습니다.만약 현재의 상황에서 JDBC 말고 JPA를 사용한다고 가정하면 서비스 계층의 모든
<DB> Java에서 스프링 없이 트랜잭션 적용하기
우선 해당 내용은 MVC 패턴 기반하에서 코드가 작성됩니다.사실 저희가 사용하는 Spring이나 다른 프레임워크들은 아래에 나올 일련의 과정을 좀 더
<DB> Transaction과 Lock 이해하기
개발을 하시면서 Transaction이라는 용어를 정말 많이 들어보셨을 것입니다.저 또한 용어의 정확한 의미는 모른채 사용했었습니다.예를 들어 “뭐 대충 데이터에
<DB> Connection Pool과 DataSource
Connection Pool저희는 JDBC를 이용해서 자바 어플리케이션에서 DB와 통신을 하고 데이터를 주고 받는 방법을 알아보았습니다.그러면 이제 조금 더 이론적인 내용에
<DB> JDBC
필자가 JDBC를 처음 사용해본것은 학교 교과목 중 데이터베이스라는 수업에서 사용해보았습니다.당시만 하더라도 저도 JPA를 공부하고 있던터라 “그냥 CRUD만 코드 따라쳐서
<JPA> 알고 쓰는 Cascade(영속성 전이)
이번 포스팅에서는 쓰면서도 헷갈리던 JPA의 Cascade 옵션에 대해서 정리하겠습니다.일단 기본적으로 Cascade라는 옵션이 등장하게 된 배경부터 알아봅시다. 아래의 코드를 보시죠
<JPA> 알고쓰는 즉시로딩과 지연로딩
지난번 포스팅의 Proxy를 활용해 JPA의 즉시로딩과 지연로딩에 대해서 알아봅시다. Member와 Team이 엔티티가 존재합니다.만약 Member를 조회할 때 Team 엔티티를 함께
<JPA> Proxy Entity
만약 Member라는 엔티티와 Team이라는 엔티티가 존재하는 상황에서 Member를 조회할때 Team도 함께 조회할 수 있는 방법이 있을까요? JPA에서는 위와 같은 과정을