关于千万级数据的删除写入问题
时间: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了···
现在有一个表,用来存放设备的状态日志,状态日志是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
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28