• 맑음동두천 12.5℃
  • 맑음강릉 13.2℃
  • 맑음서울 13.4℃
  • 맑음대전 14.0℃
  • 구름조금대구 15.1℃
  • 구름많음울산 14.4℃
  • 맑음광주 12.9℃
  • 구름조금부산 17.3℃
  • 맑음고창 13.0℃
  • 구름많음제주 15.2℃
  • 맑음강화 11.3℃
  • 맑음보은 13.1℃
  • 맑음금산 13.7℃
  • 맑음강진군 14.8℃
  • 구름많음경주시 14.7℃
  • 구름많음거제 14.6℃
기상청 제공

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;