SQL

데이터 분석의 명암

최근에 들어서 데이터의 수집과 통계 자료를 통해서 현상을 파악하고 새로운 트렌트를 찾으려는 시도가 많아졌다. 많은 업체에서는 데이터를 기반으로 UX를 분석하기 위해 A/B 테스트를 도입하기도 하고 이를 회사의 장점으로 채용 공고에 소개하는 경우도 많이 있다. 그간 얼마나 주먹구구식의 의사결정이 있었는지는 모르겠지만,… 더 보기 »데이터 분석의 명암

MySQL 용량 확인

데이터베이스별 용량 확인

테이블별 용량 확인

테이블 정보 확인

 

JPA에서 count()는 Long Type을 return 함

통계에서 사용하는 쿼리를 만들다보니, (약간은) 부득이 하게 JPA Query Method를 사용하지 않고 @Query annotation을 이용해서 아래처럼 구현하였다.

호출하는 쪽의 로직은 아래와 같다.

자세한 로직은 회사 업무상 대외비이기 때문에 약간 이상한 네이밍인 점은 신경쓰지 않기로 하자. 어쨌거나 위의 로직을… 더 보기 »JPA에서 count()는 Long Type을 return 함

upsert = insert + update를 처리하는 로직

DB에 데이터를 저장할 때, 빈번하게 사용되는 로직중에 insert/update가 있다. 먼저 select 한 뒤, 데이터가 존재하지 않으면 insert, 데이터가 존재하면 update를 하도록 한다. (혹은 update를 먼저하고 exception이 발생하면 insert를 하도록 구현하는 경우도 있다) public void renewMemberInfo(Member member) {   Member originMember = memberRepository.selectMember(member.getId());   if (originMember.isNotEmpty()) { memberRepository.update(member);… 더 보기 »upsert = insert + update를 처리하는 로직