MySQL TempTable이 디스크로 전환되는 이유: tmp_table_size 실험으로 확인한 진단 방법
MySQL에서 집계 쿼리가 느려지면 실행계획의 Using temporary부터 보게 됩니다. 하지만 이 표시는 내부 임시 테이블을 사용한다는 뜻일 뿐, 그 임시 테이블이 메모리에 …
MySQL에서 집계 쿼리가 느려지면 실행계획의 Using temporary부터 보게 됩니다. 하지만 이 표시는 내부 임시 테이블을 사용한다는 뜻일 뿐, 그 임시 테이블이 메모리에 …
데이터 양은 거의 그대로인데 디스크 사용률 경보가 울리는 경우가 있습니다. 테이블 크기는 정상이고, 데이터 디렉터리의 undo_001, undo_002 파일만 비정상적으로 커져 있…
주문 한 건을 SELECT ... FOR UPDATE로 조회했을 뿐인데, 전혀 다른 주문의 UPDATE가 멈추고 결국 1205 오류로 끝나는 경우가 있습니다. 이때 data_loc…
같은 행을 수정하지 않으면 교착 상태도 생기지 않을 것이라고 생각하기 쉽습니다. 하지만 MySQL InnoDB의 기본 격리 수준인 REPEATABLE READ에서는 Next-Key…
월별 정산 관리자 화면에서 특정 거래처를 조회하면 결과는 몇 행밖에 나오지 않는데 응답이 늦게 오는 문제가 있었습니다. 실행계획을 열어 보니 서브쿼리가 모든 거래처의 정산 데이터를…
운영 중 슬로우 쿼리를 확인하다 보면, 조건 컬럼에 인덱스가 분명히 있는데 실행계획은 테이블 풀스캔으로 나오는 SQL을 만나게 됩니다. 제가 확인했던 경우도 원인은 조건절 왼쪽 컬…
주문 테이블에는 이미 (status, created_at) 복합 인덱스가 있습니다. 상태별 주문 목록을 위해 만든 인덱스입니다. 그런데 어느 날 “일자별 매출 화면…