mysql循环查询1亿条数据,内存占满

场景描述

通过PHP+swoole实现多进程查询一个记录表,表里有1亿+的数据,开20个进程大概需要4分多钟全部能查一遍,但是查完后innodb_buffer_pool_size分配的4G内存已经全部用完。

问题

  1. 为什么查完后内存全部用完了?
  2. 为什么每次查完后内存的占用没有释放?
  3. 能不能每次查询结束后手动释放内存?

诚邀各位大佬答疑解惑,非常感谢

阅读 461
评论
    1 个回答

    这里应该说是用满,不应该说用完,因为并不是用满了,就没得用了。
    当需要的时候,MySQL有自己的淘汰算法去淘汰内存页,不需要你手动释放内存。

      撰写回答

      登录后参与交流、获取后续更新提醒