我正在开发 mysql 和 java 应用程序 我需要在数据库中保存尽可能多的文件和其他记录。它应该支持至少 500 万条记录。
我的问题是:用文件保存这么大的记录非常困难,我可能会得到“查询数据包太大”异常。
我有两个选择:
增加 MAX_ALLOWED_PACKET 的大小
使用某些作业触发器存储限制内的记录(例如超过 300k 记录,然后拆分限制内的记录并将其保存在不同的查询中,但不确定如何拆分记录)。
我不想增加 MAX_ALLOWED_PACKET 的大小,因为用户可以输入任意数量的记录。假设我们增加大小以接受 500k 记录,但稍后用户发送一百万条记录进行插入,然后再次会遇到相同的异常。
有没有更好的解决方案?
最佳答案
我找到了解决方案...而不是直接处理 txt 文件,我先将其压缩,然后发送进行插入,它能够处理 500 万条记录。
在这里发帖,如果有人遇到同样的问题,那么他可以尝试这个解决方案。
关于java - com.mysql.jdbc.PacketTooBigException :Packet too long to query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37250109/