정확한 에러내용은
ERROR 3 (HY000): Error writing file '/tmp/MYEjQwxI' (Errcode: 28) 입니다.
쿼리는 A테이블의 내용을 각 종류별로 group by해서 B테이블에 인설트 하는 쿼리입니다.
insert into B (member_code_id, u_code_id, keyword, Cnt, Daydate, Mondate) select member_code_id, u_code_id, keyword, sum(Cnt) as Cnt, Daydate, Mondate from A group by Daydate, keyword, member_code_id, u_code_id
A 테이블의 행수는 4,603,415행 정도 되구요 용량은 661.5MB정도 됩니다
mysql 타입은 myisam입니다.
구글링 해 보니 /tmp폴더에 용량문제라는데요
df -h 해본 결과
Filesystem Size Used Avail Use% Mounted on
/dev/sda6 219G 19G 190G 9% /
/dev/sda5 2.0G 36M 1.9G 2% /tmp
/dev/sda3 2.0G 36M 1.9G 2% /var/tmp
/dev/sdb1 917G 378G 494G 44% /backup
/dev/sda1 487M 17M 445M 4% /boot
tmpfs 24G 0 24G 0% /dev/shm
용량은 위와 같이 가득차지는 않았습니다.
그럼 tmp폴더의 용량이 2G인데 이 용량이 너무 작은걸까요?
위와 유사한 쿼리로 행수와 용량이 더큰 쿼리를 날릴때는 별 문제가 없었습니다. 차이점이라고는 keyword가 한글과 영문이라는 차이뿐입니다.
조언 부탁드립니다.
|