MySQL问题整理

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

  MySQL的server层不会将所有结果集都查出来放入内存中,而是查出一部分放入net_buffer中(默认大小16k),net_buffer写满就会调用网络接口发送给到本地网络栈(socket send buffer),写完就会情况net_buffer,然后继续查询并写入。如果本地网络栈写满,则不再查询写入,进入等待状态。此时查看show processList查看server状态为:Sending to client。所以MySQL其实是边查边发的。

posted @ 2021-12-31 22:13  jingyi_up  阅读(22)  评论(0编辑  收藏  举报