描述:
项目查询数据库时,报java.sql.SQLException: Temporary file write failure.
把相应sql语句放到数据库中查询,也报Temporary file write failure.
分析:
由于都报了Temporary file write failure.估计原因在mysql数据库上。
我的sql语句中使用了join操作,对于数据量少的操作,查询无异常,而数据量大的join操作就报异常。
估计是数据量过大的join操作超过了join缓存限制,使用到了临时文件,而临时文件还是太小,导致Temporary file write failure.
解决:
先查询数据库join操作的缓存大小
show VARIABLES like '%join_buffer%'
默认 256k(262144)
感觉有点小,修改为10M(10x1024x1024)