Wrapped org.springframework.jdbc.UncategorizedSQLException: ### Error querying database. Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size ### The error may exist in URL [jar:file:/home/app.jar!/BOOT-INF/lib/form-engine-3.4.0-SNAPSHOT-release.jar!/mapper/form/FormDocumentDao.xml] ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### SQL: SELECT `id`, 

运行sql语句时遇到这种错误时,一般只会出现在大规模数据进行查询或者变换时,此时由于想要一次性从数据库中取出的数据太多,sql数据库的内存会因此爆表。

解决方法:

1.在进行查询时可以选择不查询所有列的数据,只取出部分需要的数据。

2.如果只是需要前几条数据时,比如要进行最近几天数据,可以考虑使用分页查询,通过分页缓解内存压力。

3.实在不行可以选择设置数据库的储存大小。

  1. 查看当前排序缓冲区设置:在 MySQL 命令行中执行以下命令,查看当前的排序缓冲区大小:

    SHOW VARIABLES LIKE 'sort_buffer_size';
  2. 修改排序缓冲区大小:根据实际情况,适当增加排序缓冲区的大小。例如,将其设置为 8MB:

    SET GLOBAL sort_buffer_size = 8 * 1024 * 1024;
Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐