1. 총 데이터가 1000건인 테이블에서 항상 풀스캔되는 쿼리가 있습니다.
당신이라면 인덱스를 추가할 것인가요?
2. 그라파나에 30분마다 메모리가 피크되는 현상이 관측되었습니다.
당신이라면 뭐를 가장 먼저 체크할 것인가요?
3. 금일 새벽에 3시간 가량 서버 점검이 진행됩니다.
특정 시간에 돌아가는 배치가 있습니다.
서버 점검동안 미실행된 배치 작업은 어떻게 할건가요?
4. 이벤트 타임에 웹서버는 스케일 아웃으로 해결했지만
DB서버 1대의 CPU가 100%까지 치솟아 감당이 안됩니다.
무엇을 가장 먼저 할 것인가요?
5. 사용자가 대용량 엑셀 다운로드를 무자비하게 연속 클릭했더니
서버가 터졌습니다. 어떻게 해야할까요?
6. 크롤링 봇이 동시에 과다한 요청을 하여 서버가 정상적으로 서비스가 불가능 합니다.
어떻게 막으실건가요?
7. 슬로우쿼리 로그를 확인 해보니 select count(*) WHERE .. 가 너무 많습니다
where 절에 조건이 너무 다양해서 통계테이블 도입을 하자니
케이스가 너무 많습니다. 어떻게 개선해야할까요?
8. 어드민 페이지에서 통계 조회를 눌렀더니 10초 후에 응답이 나오고
다시 눌렀더니 1초 후에 나옵니다. 어떤 원리로 그런 걸까요?
9. REPLACE INTO랑 ON DUPLICATE KEY UPDATE의 동작 차이를 말해보세요.
10. select * from user where 회원등급 = 'bronze' and name like %검색%
and gender = '남성' and email = ?
아무런 인덱스가 없다고 가정하면 인덱스를 어떻게 거시겠습니까?
답은 ㅁㄹ ai한테 물어봐
1. 아니오 2. Oom api로그 보기 3. 서버 리부팅 시 웜업하는 배치 코드 추가
@공채는코테다 댓글 고맙고 답은 제미나이한테 물어봐 - dc App
@공채는코테다 10번은 맞춰야지 ... - dc App
@공채는코테다 ㅅㅅ함정에 빠졌구나 - dc App
@딘퐁 카디널리티순으로 다걸고 like는 icp타게하기
@공채는코테다 근대 8번경우가 흔한가? Rdb는 원래 버퍼웜업하잖아
@딘퐁 왜 email 등급 gender name이 최적화인거같은데
@ㅇㅇ(106.101) email만. - dc App
1. 천건이면 굳이 2. 30분마다 주기적이면 스케줄러나 배치 3. 경우에 따라 다르겠지만, 시간보고 수동/멱등성 기반 재실행/created등을 보고 재실행 4.조치라면 cqrs/ 분석이라면 top으로 사용량 보고 쿼리면 슬로우쿼리 분석 및 스레드덤프 분석 5.브라우저 캐시로 동일작업 modified 체크 6. 이건 잘 모르겠는데 user_agent값이나 cloudflare에서 뭔가 옵션있을듯? 7. 쿼리는 잘몰루.... 8. 브라우저 캐시로 변경되지않은 값이거나 일정시간안에 바로응답받게 해서? (그러면 더 빠른가..?) 9.첨들어봄 10. 카디널리티 따지면 이메일, 등급, 성별, 유저 이런식이 되지않을가?
아 10번은 %검색%이라 인덱스 어짜피 안타네 ㅋㅋㅋ
야이 너도 함정에 걸렸네 - dc App
@딘퐁 아 뭐 함정이 또 있어?
딴건 모르겠고 7번은 검색조건이 다양해서 테이블 스캔다해서 오래걸리는거같은데 동적쿼리로 특정 조건에 맞는 쿼리가 나가도록 하면될거같아요. 조건이 다양하다는게 왠지 or 엄청걸어논거 얘기하는거 같은데.
질문 의도는 sele.ct user selec.t user wher.e 남자 sel.ect user 여자 se.elect user where 브론즈 sele.ct user where 실버 케이스가 넘 많다는 의미 - dc App
@딘퐁 sele.ct user where 남자 and 브론즈 - dc App
@딘퐁 통계테이블도입이 어려울정도로복잡하면 db 인풋아웃풋이라도 줄이기 위해 case when then쓰면서 조건별 카운트들을 하나의 쿼리로 불러오기? 근데 이게 데이터건수가 작으면 괜찮아도 많아지면 안좋은데... 잘 모르겠네요
@ㅇㅇ(119.206) 그냥 상황 가정이라 답은 저도 몰라요 ㅎㅎ.. - dc App
@딘퐁 이런 문제 생각하려면 뭔책봐야함