• 흐림동두천 0.4℃
  • 맑음강릉 0.7℃
  • 서울 2.6℃
  • 구름조금대전 0.1℃
  • 구름조금대구 3.4℃
  • 흐림울산 3.9℃
  • 구름많음광주 2.7℃
  • 구름많음부산 5.6℃
  • 맑음고창 -1.0℃
  • 맑음제주 7.8℃
  • 흐림강화 1.0℃
  • 맑음보은 -3.0℃
  • 흐림금산 -2.0℃
  • 구름많음강진군 3.5℃
  • 구름많음경주시 3.2℃
  • 구름많음거제 6.3℃
기상청 제공

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;