这个SQL占用的内存超时了1G,有没有办法确认是哪张表占用的啊
因为我把SQL的select 字段删除几个就正常了
SQL我有,就是不知道是哪个子查询占用的内存多
或是查询了哪张表占用的内存多 ,用 explain analyze 查看内存占用也不是很多
把dashboard上的执行计划展开,最右边有显示每一个算子占用的内存,然后你再根据执行计划就知道是哪个表占用的多了
我删了一些字段能执行了,但是这里还是显示使用了1G
这个地方展开 执行计划后面有内存的使用情况
tidb_mem_quota_query 这个变量在 5.0.2 版本,是不是不能全局设置啊
看有磁盘使用,SQL 用了落盘啊。
不过看执行计划内存用的是不多,难道是统计的不对
我全部更新一下统计信息试试
上面的执行计划只是一部分,太多了没截全
sql复杂的情况下还是调整内存吧,1G的内存限制确实有点小,我们一般设置的是10G
一个SQL最高占用10G,会不会把服务器的内存OOM
这个SQL是复杂 的,但是数据量不大
不报错的情况下,6-7秒就能查出来
这个风险确实是有的,但是处理好sql语句,基本上不会出现服务器oom的情况