com.mysql.jdbc.PacketTooBigException:数据包太长而无法查询

时间:2016-05-16 08:55:46

标签: java mysql

我正在研究mysql和java应用程序 我要求在DB中保存尽可能多的文件以及其他一些记录。它应该支持至少500万条记录。

我的问题是:用文件保存这么多大记录是非常困难的,我可以得到“查询包过大”的例外情况。

我有两个选择:

  1. 增加MAX_ALLOWED_PACKET的大小

  2. 使用某些作业触发器将记录存储在限制中(例如,超过300k记录,然后将记录分成限制并将其保存在不同的查询中,但不完全确定如何拆分记录)。

  3. 我不想增加MAX_ALLOWED_PACKET的大小,因为用户可以输入任意数量的记录。假设我们增加大小以接受500k记录但稍后用户发送一百万条记录进行插入然后再次获得相同的异常。

    有没有更好的解决方案?

1 个答案:

答案 0 :(得分:0)

我得到了解决方案...而不是直接处理txt文件我首先将其压缩然后发送插入,它能够处理500万条记录。

如果有人遇到同样的问题,可以在此处发帖,然后他可以尝试这个解决方案。