본문 바로가기
IT/Database

데이터베이스 최적화 방법 2 (23.04.28)

by 성준하이 2023. 4. 29.
반응형

지난 포스팅은 외부에서 받아온 최적화 방법들이 정리 되었었다.

자세한 내용은 아래 참고 포스팅 참고 바란다.

 

이번 포스팅에서는 내가 정리한 내용을 추가로 적어두려고 한다.

(중복된 내용 존재할수 있음)

 

- JOIN
NL -> 인덱스 있을떄
sort merge -> 동등 / 비동등 일떄
hahs -> 동등일때


- function 은 return 필수 / procedure는 필수 아님


- findbyid 할 경우 엔티티 전체가 나와서 만약 id 만 원할 경우나 인덱스 있을경우를 원하면 해당 컬럼만 다루면 테이블 스캔 안하고 인덱스 스캔만


- 만약 where a.id = b.id and a.id=1 인걸 inlineview로 넣으면 b에도 10을 넣어주기


- x+2>5 보단 바인딩 변수는 혼자 두기 x>3 으로


- date>1900년 보단 date >2023년 처럼 줄이고 절반 이하의 값만 where절에 인덱스로 넣기


- like ‘%1%’ 처럼 앞뒤로 % 이면 인덱스 안탐


- index 가 asc 면 order by 도 asc 해야함(default asc)


- 데이터분포도가 25퍼 넘어가면 풀스캔가자


- a=1 or a=2 할바엔 a in (1,2) 하거나 아니면 a=1 union a=2 로 하자


- nl조인일 경우엔 첫번째 테이블 갯수만큼 탄다(적게 가야함)


- where 인덱스 순서는 상관없고 인덱스 있는게 먼저 나오도록 , 분포 되고

참고 포스팅

https://thenicesj.tistory.com/547

 

데이터베이스 최적화 방법 1 (23.04.27)

옵티마이저의 종류와 DBMS 종류에 따라 다를순 있지만 일반적인 쿼리 튜닝방법에 대해서 정리한 글을 공유하려한다. 저장해두고 보기 위해 글 사용합니다. OR 연산자의 사용을 피하라. 대부분의

thenicesj.tistory.com

 

반응형

'IT > Database' 카테고리의 다른 글

upsert 란?  (62) 2023.06.12
CLOB 타입  (28) 2023.05.31
데이터베이스 최적화 방법 1 (23.04.27)  (9) 2023.04.29
com.mysql.cj.jdbc.Driver와 com.mysql.jdbc.Driver 차이 (23.04.25)  (9) 2023.04.28
[Tibero] view / procedure 조회  (12) 2023.04.22

댓글