mysql - 为什么删除行时数据使用量会增加 Mysql Cluster?

标签 mysql database

我的 mysql 集群数据节点数据使用率增加到 95%。然后我尝试删除 500000 行,我的节点数据使用量最初开始增加并达到 99% 及以上,遇到 TABLE FULL 错误。请谁能告诉我为什么删除行时现有节点的数据使用量增加? mysql集群删除行时的内部工作原理是什么?

我在 config.ini 中的 MaxNoOfConcurrentOperations 参数 600000 而不是因为这个参数。

最佳答案

删除行不一定释放磁盘空间。事实上,它可能会用完更多,因为它会保留 MVCC。日志和相关的复制数据。

相比之下,TRUNCATE 将放弃大量数据并且似乎不会招致同样的惩罚,至少对于大多数引擎而言是这样。

如果您的磁盘空间确实不足,您可能需要完全删除一些表以释放一些空间。

关于mysql - 为什么删除行时数据使用量会增加 Mysql Cluster?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15917484/

相关文章:

php - HTML5 + UTF-8 : do i need to encode the GBP symbol (£)?

mysql - 为什么 MySQL SUM 查询只返回一行?

sql - ORA-01438: 大于指定精度的值允许此列

php - 如何通过恒定的上传路径上传多个图像

php - 在数据库中保存数据时,Doctrine 将 UTF8 编码更改为 html 实体

c++ - for 循环批处理数据并将其丢弃在 C++ 中

database - 重启后Hbase数据被删除

android - 在 OnItemClick 之后在 ListView 中显示来自数据库的游标结果

javascript - 如何从单选按钮中的数据库加载值?

mysql - 使用查询将 json 数据解码为字符串