我想知道在生产服务器上大约 12gb 的表上使用 phpMyAdmin 的empty
功能是否是个好主意。我不想造成太多延迟,但需要释放一些磁盘空间。
这需要在基于 Debian 的 DELL 服务器上完成:
MySQL 5.1.49 Intel Xeon X3430 @ 2.40Ghz 4GB 内存
假设 phpMyAdmin 用于TRUNCATE
清空表。我是否需要几分钟甚至几小时来截断表,或者这是一个类似于删除表的相当快的过程?
答案1
如果有零事务锁定表架构,TRUNCATE TABLE
命令将几乎立即完成。到目前为止,我等待的最长时间是 0.1 秒,用于截断 25GB 的表。
无论如何,TRUNCATE TABLE
命令不会对其他维护操作以外的任何操作产生不良副作用。如果服务器无法获取必要的独占锁,它将被阻塞 - 但不是因为它需要大量的 IO 或处理 - 它只是在等待轮到它。