MySQL内存空间

时间:2016-09-16 06:47:12

标签: mysql truncate

在MySQL中使用DELETE和TRUNCATE命令是在进程中释放的内存空间吗? 假设我的表占用了100KB并且我删除了所有行,释放了多少内存空间? 如果我对表进行TRUNCATE,那么释放多少空间?

一旦我删除或截断100KB表中的所有行,每种情况下100KB会发生什么?

1 个答案:

答案 0 :(得分:2)

作为DELETETRUNCATE操作的一部分,不会释放任何内存。实际上,如果使用缓冲区,可能会消耗内存。但这通常是无关紧要的,因为这将在必要时重新用于其他目的。

可以 释放磁盘空间,具体取决于您使用的存储引擎及其配置方式。默认情况下,InnoDB会在磁盘上分配越来越多的存储空间,但永远不会释放它,所以你会遇到最大分配,即高水位分数。释放它不会给你任何磁盘空间,但它确实为你提供了更多的空间来存储数据。它刚被保留。