在MySQL中使用DELETE和TRUNCATE命令时,进程中释放的内存空间是多少?假设我的表占用了100KB,并且我删除了所有的行,那么释放了多少内存空间?如果我TRUNCATE表,释放了多少空间?
一旦我DELETE或TRUNCATE 100KB表中出现的所有行,在每种情况下100KB会发生什么?
在DELETE
或TRUNCATE
操作中不释放内存。实际上,如果使用缓冲区,可能会消耗内存。但是,这通常是无关紧要的,因为在必要时,它将被用于其他目的。
磁盘空间可能会被释放,这取决于您使用的存储引擎及其配置方式。默认情况下,InnoDB在磁盘上分配越来越多的存储空间,但从不释放它,所以你被最大分配所困,即高水位标志。释放它不会给你任何磁盘空间,但它确实给你MySQL更多的空间来存储数据。