기회는 찬스
close
프로필 배경
프로필 로고

기회는 찬스

  • 분류 전체보기 (109)
    • Language (20)
      • Java (19)
      • Design Pattern (1)
    • Tech (24)
      • Spring (18)
      • JPA (3)
      • QueryDSL (1)
      • Gradle (2)
    • 개발 생각 (1)
    • Database (4)
      • Mysql (4)
      • Redis (0)
    • 네트워크 (1)
    • 운영체제 (2)
    • IDE (9)
      • Intellij (6)
      • vscode (2)
      • datagrip (1)
    • 인프라 (11)
      • Docker (2)
      • Jenkins (7)
      • Github Actions (1)
      • GCP (1)
    • 형상관리 (2)
      • gitlab (2)
      • git (0)
    • 외부활동 (28)
      • CS 면접 끝장내기 - 데이터베이스 1기 (5)
      • CS 면접 끝장내기 - 컴퓨터 네트워크 2기 (5)
      • CS 면접 끝장내기 - 자바 2기 (0)
      • TDD, 클린 코드 with Java 17기 (7)
      • ATDD, 클린 코드 with Spring 8기 (6)
      • 항해플러스 5기 (5)
    • 프로젝트 (0)
    • 회고 (6)
    • 기타 (0)
  • 홈
  • Github
  • LinkedIn
  • 방명록
게시글 좋아요 수로 정렬이 필요한 경우 통계 테이블 활용하기

게시글 좋아요 수로 정렬이 필요한 경우 통계 테이블 활용하기

배경 https://www.youtube.com/watch?v=n-7tsMhum4g&ab_channel=%EC%A0%9C%EB%AF%B8%EB%8B%88%EC%9D%98%EA%B0%9C%EB%B0%9C%EC%8B%A4%EB%AC%B4 존경하는 개발자 재민님의 영상을 보던중 아래 댓글을 보았다 위 내용을 요약하자면게시판 정렬시 좋아요 수로 정렬을 할 경우 테이블간의 조인과 group by로 count를 구한다.데이터 규모가 적으면 문제 없지만 규모가 커질때는 성능 저하가 심해진다.또한, 상품 테이블에 XxxCount 필드를 추가하는건 데이터 정합성 등 여러 가지 문제점이 발생할 수 있다.이러한 경우 통계 테이블을 활용해서 페이징 처리를 할 수 있다. 네이버 쇼핑만 봐도 정렬 조건이 많다.테이블이 정규화 ..

  • format_list_bulleted Database/Mysql
  • · 2025. 4. 13.
  • textsms
나만 헷갈리는 mysql8 함수

나만 헷갈리는 mysql8 함수

문자함수 1. 문자열 자르기 SELECT capital_city, substr(capital_city,2,2) as substr, mid(capital_city,2,2) as mid, substring(capital_city,2,2) as substring FROM class.country - 숫자는 1부터 시작 - 3함수 모두 기능이 같음 - substr(컬럼명, 시작할 문자열의 위치 값, 리턴 시킬 값의 길이) 2, 특정 문자열 위치 찾기 SELECT capital_city, instr(capital_city, 'a') as instr_a, instr(capital_city, 'do') as instr_do, instr(capital_city, 'r') as instr_r FROM class.coun..

  • format_list_bulleted Database/Mysql
  • · 2022. 10. 6.
  • textsms
인덱스 - 1

인덱스 - 1

인덱스 이론 개념 DBMS에서의 인덱스는 저장 성능을 희생하고 검색 성능을 높이는 기능입니다. 1000페이지가 넘는 토비의 스프링 같은 책과 비유하자면 다음과 같습니다 책의 맨 처음이나 끝에 존재하는 색인 = DBMS의 인덱스 책의 내용 = DBMS의 데이터 파일 책의 색인을 통해 알 수 있는 페이지 번호 = DBMS의 데이터 파일에 저장된 레코드의 주소 책의 색인은 사전 순으로 정렬 = DBMS의 인덱스도 일정 기준으로 정렬 가능 종종 책의 목차를 인덱스로 비유하는데 정확히는 아닙니다. 왜냐하면 책의 목차는 문자열 등 특정 기준으로 정렬되어 있지 않기 때문입니다. 색인의 특징 색인의 특징을 자세히 알아보겠습니다. 책에 있는 모든 용어가 아닌 자주 찾아보는 핵심 용어만 간추려서 정리했습니다. 효율적인 검..

  • format_list_bulleted Database/Mysql
  • · 2022. 1. 10.
  • textsms
스프링 부트 테스트 도중 'Lock wait timeout exceeded; try restarting transaction'

스프링 부트 테스트 도중 'Lock wait timeout exceeded; try restarting transaction'

스프링 테스트 코드를 아래와 같이 작성했다. DB를 수정하는 테스트코드이기 때문에 트랜잭션을 걸어줬다. 코드는 보안상 대충 수정했다.. @Transactional(value = "testTransactionManager") @Test void updateTest() throws Exception { ReqDTO reqDTO = new ReqDTO(); reqDTO.setTest("test"); MvcResult mvcResult = super.performReqBody(BEGIN_URL, "test/insert", reqDTO); this.mockMvc.perform(asyncDispatch(mvcResult)) .andDo(print()) .andExpect(status().isOk()) .andExp..

  • format_list_bulleted Database/Mysql
  • · 2021. 8. 17.
  • textsms
  • navigate_before
  • 1
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (109)
    • Language (20)
      • Java (19)
      • Design Pattern (1)
    • Tech (24)
      • Spring (18)
      • JPA (3)
      • QueryDSL (1)
      • Gradle (2)
    • 개발 생각 (1)
    • Database (4)
      • Mysql (4)
      • Redis (0)
    • 네트워크 (1)
    • 운영체제 (2)
    • IDE (9)
      • Intellij (6)
      • vscode (2)
      • datagrip (1)
    • 인프라 (11)
      • Docker (2)
      • Jenkins (7)
      • Github Actions (1)
      • GCP (1)
    • 형상관리 (2)
      • gitlab (2)
      • git (0)
    • 외부활동 (28)
      • CS 면접 끝장내기 - 데이터베이스 1기 (5)
      • CS 면접 끝장내기 - 컴퓨터 네트워크 2기 (5)
      • CS 면접 끝장내기 - 자바 2기 (0)
      • TDD, 클린 코드 with Java 17기 (7)
      • ATDD, 클린 코드 with Spring 8기 (6)
      • 항해플러스 5기 (5)
    • 프로젝트 (0)
    • 회고 (6)
    • 기타 (0)
최근 글
인기 글
최근 댓글
태그
  • #데이
  • #ㄹㄹ
  • #a
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바