SQL 쓰다가 내가 했던 실수 모음
익명댓글 4
동료들이랑 얘기하다가 다들 비슷한 실수 했길래 정리함
1. UPDATE에 WHERE 빼먹기
전체 행이 바뀜. 트랜잭션 걸고 확인 후 커밋하는 습관 들이기
2. NULL 비교를 = 로 하기
IS NULL로 해야 함. = NULL은 안 맞음
3. LIKE 앞에 % 붙여서 인덱스 못 타기
데이터 많아지면 갑자기 느려짐
4. JOIN 조건 빼먹어서 행이 폭발
결과가 몇만 배로 뻥튀기됨
5. 문자열이랑 숫자 비교
타입 변환 때문에 인덱스 안 타거나 결과가 이상하게 나옴
6. 운영에서 대용량 테이블에 바로 ALTER
테이블 잠겨서 서비스 멈춤. 점검 시간에 하거나 온라인 변경 방법 찾아보기
7. 날짜 비교할 때 시간 부분 무시
하루치 조회한다고 날짜만 넣으면 마지막 날이 빠지는 경우 있음
보태줄 거 있으면 댓글로
댓글 4
7번 진짜 자주 함 BETWEEN으로 하다가 마지막 날 다 빠짐
6번 당해봤는데 진짜 지옥이었음
8. 서브쿼리 안에서 NOT IN 쓰는데 NULL 섞여있으면 결과 0개 나옴
오 이거 좋다 추가할게