看来您的查询返回的是一个大型的中间结果集,需要创建一个临时表,并且mysql临时磁盘表(/ tmp)的配置位置对于生成的临时表来说还不够大。
mount -t tmpfs -o remount,size=1G tmpfs /tmp
您可以通过编辑/ etc / fstab使此更改永久生效
如果无法执行此 *** 作,则可以尝试通过编辑my.cnf文件中的“
tmpdir”条目来更改磁盘临时表的位置(如果尚未存在,请添加它)。请记住,您选择的目录应该是mysql用户可写的
您也可以尝试通过增加mysql配置选项的值来阻止在磁盘上创建临时表:
tmp_table_sizemax_heap_table_size
更大的值。您将需要同时增加以上两个参数
例:
set global tmp_table_size = 1G;set global max_heap_table_size = 1G;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)