100G内存下,MySQL查询200G大表会OOM么?

提问者:帅平 问题分类:面试刷题
100G内存下,MySQL查询200G大表会OOM么?
1 个回答
南风知我意べ吹梦到西洲
南风知我意べ吹梦到西洲
不会的,原因如下:
1、MySQL采用的是边算边发的逻辑,因此对于数据量很大的查询结果来说,不会在server端保存完整的结果集。所以,如果客户端读结果不及时,会堵住MySQL的查询过程,但是不会把内存打爆。
2、对于InnoDB引擎内部,由于有淘汰策略,大查询也不会导致内存暴涨。并且,由于InnoDB对LRU算法做了改进,冷数据的全表扫描,对Buffer Pool的影响也能做到可控。
3、全表扫描还是比较耗费IO资源的,所以业务高峰期还是不能直接在线上主库执行全表扫描的。
发布于:2小时前 IP属地:
我来回答