2016-09-16 2 views
1

MySQL에서 DELETE 및 TRUNCATE 명령을 사용하는 동안 프로세스에서 릴리스 된 메모리 공간이 있습니까? 내 테이블이 100KB를 차지하고 모든 행을 삭제한다고하면 얼마나 많은 메모리 공간이 릴리스됩니까? 그리고 테이블을 TRUNCATE하면, 얼마만큼의 공간이 생깁니 까?MySQL 메모리 공간

100KB 테이블에있는 모든 행을 삭제하거나 TRUNCATE하면 각 경우 100KB로 어떻게됩니까?

답변

2

메모리가 DELETE 또는 TRUNCATE 작업의 일부로 해제되었습니다. 실제로 버퍼가 사용되면 메모리가 소모 될 수 있습니다. 그것은 일반적으로 관련이 없지만 필요시 다른 용도로 다시 사용되기 때문에 관련이 없습니다.

디스크 공간 은 사용중인 스토리지 엔진 및 구성 방법에 따라 출시 될 예정입니다. 기본적으로 InnoDB는 디스크에 점점 더 많은 스토리지를 할당하지만 절대로이를 해제하지 않으므로 최대 할당 인 최고점에 머물러 있습니다. 그것을 풀어도 디스크 공간이 줄어들지는 않지만 MySQL이 데이터를 저장할 수있는 더 많은 공간을 제공합니다. 방금 예약되었습니다.

+0

만약 내가 더 많은 메모리 공간을 얻지 못한다면, 100KB 테이블을 DELETING 또는 TRUNCATing하는 것이 무엇입니까? 나에게 아무 소용이 없다고해도 표가 존재할 수도 있습니다. 내 의심이 정말로 기본이라면 사과드립니다. 나는이 기능이 기억에서 어떻게 작동하는지 결코 이해하지 못했다. –