mysql - 什么是 SQL 错误 : 5, SQLState : HY000? 以及什么可能导致此错误?

标签 mysql sql hibernate out-of-memory

我正在调试的应用程序在其日志中随机/偶尔写入此异常。

org.hibernate.util.JDBCExceptionReporter - SQL Error: 5, SQLState: HY000 

以及与此相关的 SQL 内存不足错误。

虽然我在 mysql 文档中找到了 SQLState: HY000 是什么,但我在任何地方都找不到与此状态相关的 SQL Error 5 是什么。 目前我只知道数据库连接由于内存不足错误而关闭,并且情况不遵循任何模式。

由于程序的性质,添加额外的日志消息不是一个选项。 (我不能这样做,因为应用程序很大,而且从我所看到的情况来看,它是随机发生的 - 执行查询(在消息中)所需的内存大小不同,从 3 MB 到 6 MB 不等)。

有关此异常的任何帮助/信息表示赞赏。

附加信息: 内存不足消息似乎以 6-50 多个请求的 block 形式出现,间隔为 100-150 毫秒。 从大约 20-30 条错误消息的列表中,只有 3 条也出现在 mysql 日志中,其余仅出现在 tomcat 日志中(打印堆栈跟踪)。

谢谢

最佳答案

HY000 表示一般错误。
SQL 错误 5 内存不足

检查您的查询,增加 my.ini 中的缓冲区。 还要确保修复所有表并重新索引它们。

参见:http://dev.mysql.com/doc/refman/5.0/en/error-messages-server.html

关于mysql - 什么是 SQL 错误 : 5, SQLState : HY000? 以及什么可能导致此错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7472884/

相关文章:

php - 如何检查另一个表的最后 N 行中是否存在值?

mysql - 当它引用的字段自动递增时,我如何有效地模仿外键约束?

java - Hibernate返回 "weird"连接

php - MySQL:错误#2002

mysql - SQL - 使用 FIFO 和 LIFO 获取销售成本

php - 阵列运行不正常

mysql - 难以猜测的 SQL 数据库表名和列名是否有助于防止 SQL 注入(inject)?

SQL 如何在 SUM 中使用 LAG

java - 无法在教练类(class)上设置教练 car_id

java - 在 @Transactional 方法之前创建的 Hibernate 对象不能在之后使用(获取 LazyInitializationException)