【问题标题】:MySQL memory exhausted errorMySQL内存耗尽错误
【发布时间】:2011-04-08 20:25:27
【问题描述】:

今天我正在使用一个简单的Java应用程序将大量数据加载到MySQL DB中,并得到以下错误:

java.sql.SQLException: 来自服务器的语法错误或访问冲突消息:“内存在 ''Q1',2.34652631E10,'000','000',5.0519608E9,5.8128358E9,'000','000 附近耗尽',8.2756818E9,2' 在第 5332 行"

我试图修改 my.ini 文件以增加一些点,但是它根本不起作用,实际上文件的大小并没有那么大,它只是一个 14mb 的 xls 文件,几乎没有想法,等待任何建议。感谢您的帮助!

【问题讨论】:

  • 不,这家伙没有提出他的解决方案。
  • 您正在运行的查询有多大? 5332 行查询表明它很大(除非那是 java 小程序中发生错误的行)。
  • 是的,第5332行是出错的地方,实际上有300000行数据,但整体大小不到14mb
  • 能否贴出java程序的代码或解释?

标签: java mysql


【解决方案1】:

(如果没有您代码的相关部分,我只能猜测,但我们开始......)

根据错误消息,我将在黑暗中试一试,并猜测您正在尝试在单个查询中加载所有 300,000 行,这可能是通过在单个查询中连接一大堆 INSERT 语句产生的细绳。一个 14MB 的 XLS 文件在转换为 SQL 语句时可能会变得很多大,并且您的服务器在尝试解析查询时会耗尽内存。

解决这个问题(按优先顺序):

【讨论】:

  • 非常有道理,第三个建议很适合我,因为我必须通过 java 代码改变原始 xml 文件中的一些数据,非常感谢你!
猜你喜欢
  • 1970-01-01
  • 2014-03-17
  • 2015-07-02
  • 2014-10-01
  • 2015-03-18
  • 2014-04-23
  • 1970-01-01
  • 1970-01-01
  • 2011-07-12
相关资源
最近更新 更多