Java MySQL内存耗尽错误
今天,我使用一个简单的Java应用程序将一个大数据加载到MySQL数据库中,并得到以下错误: java.sql.SQLException:来自服务器的语法错误或访问冲突消息:“内存在第5332行的“Q1”、“2.34652631E10”、“000”、“000”、“5.0519608E9”、“5.8128358E9”、“000”、“8.2756818E9,2”附近耗尽” 我试图修改my.ini文件以增加一些点,但它根本不起作用,实际上文件的大小也不是很大,它只是一个14mb xls文件,几乎没有什么想法,等待任何建议。谢谢你的帮助 (如果没有代码的相关部分,我只能猜测,但我们开始了…) 从错误消息中,我将在黑暗中试一试,并猜测您正试图在单个查询中加载所有300000行,这可能是通过在单个字符串中串联一整串Java MySQL内存耗尽错误,java,mysql,Java,Mysql,今天,我使用一个简单的Java应用程序将一个大数据加载到MySQL数据库中,并得到以下错误: java.sql.SQLException:来自服务器的语法错误或访问冲突消息:“内存在第5332行的“Q1”、“2.34652631E10”、“000”、“000”、“5.0519608E9”、“5.8128358E9”、“000”、“8.2756818E9,2”附近耗尽” 我试图修改my.ini文件以增加一些点,但它根本不起作用,实际上文件的大小也不是很大,它只是一个14mb xls文件,几乎没有什
INSERT
语句生成的。当转换为SQL语句时,14MB XLS文件可能会变得更大,并且您的服务器在尝试解析查询时内存不足
要解决此问题(按优先顺序):
- 将文件转换为CSV并使用
- 将文件转换为CSV并使用
- 使用多个中等规模的事务,每个事务只有几千条
语句。如果无法简单导入文件,则建议使用此选项INSERT
- 使用单个事务-InnoDB MySQL数据库
- (如果没有代码的相关部分,我只能猜测,但现在我们开始……)
从错误消息中,我将在黑暗中试一试,并猜测您正试图在单个查询中加载所有300000行,这可能是通过在单个字符串中串联一整串
INSERT
语句生成的。当转换为SQL语句时,14MB XLS文件可能会变得更大,并且您的服务器在尝试解析查询时内存不足
要解决此问题(按优先顺序):
- 将文件转换为CSV并使用
- 将文件转换为CSV并使用
- 使用多个中等规模的事务,每个事务只有几千条
语句。如果无法简单导入文件,则建议使用此选项INSERT
- 使用单个事务-InnoDB MySQL数据库