튜닝 잘하기 어렵지만 사실 문제를 보는게 어렵지 쿼리 문제는 질책와 소송의 중간 어딘가에 넓게 걸쳐있어 보고나면 이미 늦단 말이지 근데 안당해보면 모른다는거 그래서 윗사람이 책임질때 많이 배워놔야 좋음
질책과 소송... 일단 개발자 윗사람은 없음. 내가 알아서 해보다가 안되면 걍 딴거함이라고했어
인덱스 걸어서 문제가 생기는 경우도 있으니 가르쳐주는 사람없으면 메모리나 프로세스 사용량 꼼꼼하게 봐야함. 근데 테스트해볼만큼 데이타는 많음? 문제가 생길만큼 규모의 데이타 없으면 이리저리 만져봐야 우물안 개구리일텐데
데이터는 안많은데 걍 테이블이 엄청많아서 느림... 데이터는 얼마나 잇어야 유의미함? 백만개는 넘는거같은데
그정도면 충분하겠네. 데이타건수 많고 테이블 조인 많으면 배울거 많을듯
db 고수가 될거야
데이터베이스 계층에 보면 논리적아래에 물리적 계층있잖아? 레코드가 DB에 물리적으로 어떻게 저장되는지를 지식이 필요함 - dc App
ㄹㅇ이가? 찐 cs 지식이 필요하구나 b-tree 이런거 보고있었는데
B트리 파일구조도 그거 개념 중 하나임 노드 하나씩 내려갈 때마다 메모리에 올라갔다가 내려가는거니깐 root에서 leaf까지 높이h만큼 I/O가 발생한거임 - dc App
그런거로 성능 비교하는거 인덱스마다 어떤 인덱스가 더 디스크에서 메모리에 올라가는 비용이 적은지를 판단하면 그게 최적화지 - dc App
긍까... 1~11까지 잇는데 5를 꺼낼라할때 b-tree가 없으면... 1 2 3 4 5 해서 5번 메모리를 찍는 일을 하는데 (4|8) / \ (2)(6) /\ (5)(7) 4... 6... 5 해서 3번만에 찾은건가...?I/O가 세번발생햇다???
어떤인덱스가 비용이 덜드는지 알아야하는데... analyze explain 하면 cost와 actualtime이 나오던대 여기서 cost인가?
ㅇㅇ실제 시간말고 시간복잡도O(n)처럼 이론적인 cost를 계산함 join cost 계산하는데서 차이가 크게 나지 - dc App
흐음... cost와 속도가 비례하지않던대 데이터는 제법많은데 데이터추가 변경은 그렇게 많지않으면 cost보다 시간이 더 빠른걸 우선해도 되는걸까?
저번에 만지다보니꺼 cost가 올라갓는데 시간은 짧아졋더라
너말대로 실제론 CPU는 다른 프로세스도 같이 동작하니깐 이론과 실제론 좀 차이가 있을수도 일단은 조인이나 인덱스 처럼 성능 차이가 큰걸 위주로 고민 ㄱㄱ - dc App
고마워!
쿼리 성능 측정하는 툴들이 있음 그걸로 코스트 보고 full scan 하는 쿼리들을 index타게 수정하면 됨
튜닝 잘하기 어렵지만 사실 문제를 보는게 어렵지 쿼리 문제는 질책와 소송의 중간 어딘가에 넓게 걸쳐있어 보고나면 이미 늦단 말이지 근데 안당해보면 모른다는거 그래서 윗사람이 책임질때 많이 배워놔야 좋음
질책과 소송... 일단 개발자 윗사람은 없음. 내가 알아서 해보다가 안되면 걍 딴거함이라고했어
인덱스 걸어서 문제가 생기는 경우도 있으니 가르쳐주는 사람없으면 메모리나 프로세스 사용량 꼼꼼하게 봐야함. 근데 테스트해볼만큼 데이타는 많음? 문제가 생길만큼 규모의 데이타 없으면 이리저리 만져봐야 우물안 개구리일텐데
데이터는 안많은데 걍 테이블이 엄청많아서 느림... 데이터는 얼마나 잇어야 유의미함? 백만개는 넘는거같은데
그정도면 충분하겠네. 데이타건수 많고 테이블 조인 많으면 배울거 많을듯
db 고수가 될거야
데이터베이스 계층에 보면 논리적아래에 물리적 계층있잖아? 레코드가 DB에 물리적으로 어떻게 저장되는지를 지식이 필요함 - dc App
ㄹㅇ이가? 찐 cs 지식이 필요하구나 b-tree 이런거 보고있었는데
B트리 파일구조도 그거 개념 중 하나임 노드 하나씩 내려갈 때마다 메모리에 올라갔다가 내려가는거니깐 root에서 leaf까지 높이h만큼 I/O가 발생한거임 - dc App
그런거로 성능 비교하는거 인덱스마다 어떤 인덱스가 더 디스크에서 메모리에 올라가는 비용이 적은지를 판단하면 그게 최적화지 - dc App
긍까... 1~11까지 잇는데 5를 꺼낼라할때 b-tree가 없으면... 1 2 3 4 5 해서 5번 메모리를 찍는 일을 하는데 (4|8) / \ (2)(6) /\ (5)(7) 4... 6... 5 해서 3번만에 찾은건가...?I/O가 세번발생햇다???
어떤인덱스가 비용이 덜드는지 알아야하는데... analyze explain 하면 cost와 actualtime이 나오던대 여기서 cost인가?
ㅇㅇ실제 시간말고 시간복잡도O(n)처럼 이론적인 cost를 계산함 join cost 계산하는데서 차이가 크게 나지 - dc App
흐음... cost와 속도가 비례하지않던대 데이터는 제법많은데 데이터추가 변경은 그렇게 많지않으면 cost보다 시간이 더 빠른걸 우선해도 되는걸까?
저번에 만지다보니꺼 cost가 올라갓는데 시간은 짧아졋더라
너말대로 실제론 CPU는 다른 프로세스도 같이 동작하니깐 이론과 실제론 좀 차이가 있을수도 일단은 조인이나 인덱스 처럼 성능 차이가 큰걸 위주로 고민 ㄱㄱ - dc App
고마워!
쿼리 성능 측정하는 툴들이 있음 그걸로 코스트 보고 full scan 하는 쿼리들을 index타게 수정하면 됨