• 구름많음동두천 17.6℃
  • 맑음강릉 20.3℃
  • 구름많음서울 18.2℃
  • 맑음대전 18.5℃
  • 맑음대구 19.0℃
  • 맑음울산 20.0℃
  • 맑음광주 18.4℃
  • 맑음부산 19.1℃
  • 맑음고창 18.4℃
  • 맑음제주 21.3℃
  • 구름많음강화 15.3℃
  • 구름조금보은 17.3℃
  • 맑음금산 18.1℃
  • 맑음강진군 18.7℃
  • 구름조금경주시 20.7℃
  • 맑음거제 19.7℃
기상청 제공

SQL처리 시 Temporary Table 현황 모니터링

# SQL처리 시 Temporary Table이 디스크에 사용되지 않도록 해야한다.
# Temporary Table 현황 모니터링
# Created_tmp_files 이 많다면 tmp_table_size를 늘려주기
mysqladmin -uroot -p extended-status -r -i 1 | grep -E 'Created_tmp|--'

일부 쿼리는 Temporary Table을 메모리에 사용하지 않고 디스크를 바로 사용하는 경우가 있다.
쿼리 자체를 수정하여 디스크를 사용하지 않도록 해야겠다.

임시 꼼수로.
통계성 쿼리 질의 전에 세션 변수 설정(2G로 할당)을 한 후 해본다.
디스크 사용을 줄이기 위한 목적이지만 쿼리 자체를 수정하는게 더 좋은 방법임.
set session tmp_table_size = 2 * 1024 * 1024 * 1024;
set session max_heap_table_size = 2 * 1024 * 1024 * 1024;