+ -
当前位置:首页 → 问答吧 → 关于千万级数据的删除写入问题

关于千万级数据的删除写入问题

时间:2011-06-28

来源:互联网

本帖最后由 millerrch 于 2011-06-28 15:30 编辑

现在有一个表,用来存放设备的状态日志,状态日志是20秒写入一次一般,当状态日志数据有千万条左右时,如果想删除某个时刻以前的数据,比如删个几百万条,删除数据的脚本就会一直执行没反应,而且此时无法写入新的状态日志数据也
如果只删除几十万条数据,则可以写入新的数据,但是删除数据的操作没法进行,报错Lock wait timeout exceeded; try restarting transaction
是因为删除的数据量过大,提交删除数据时,耗时太久的缘故么?还是别的原因,望达人赐教啊,THX~~


顺便问个别的问题,我导出这个大数据的表正常,不过有600多M,但是导入另一个mysql就报错 Got a packet bigger than \max_allowed_packet\ bytes

我把/etc/my.cnf中的max-allowed-packet,改成32M了,重启mysql不管用啊,看还有人说得改my.ini,这个文件在哪儿?是这个问题么?改成多大合适,先谢谢了哈,改成800M以后报了一个其中一条数据的错误,然后再看表里现在也有数据了,导出后才200多M,数据变成200多W了···

作者: millerrch   发布时间: 2011-06-28

可见楼主还没分清my.ini是windows的配置文件,/etc/my.cnf是linux的配置文件。。。

你这个日志的设计就是不合理的。无论怎么样优化,都是这个样子。如果要想性能上去,分表吧。

导入导出的问题,我不清楚你具体怎么做的,估计也是命令使用不合理,哈哈。

作者: andrefun   发布时间: 2011-06-28

相关阅读 更多