gpt4 book ai didi

mysql - MySQL (5.6) 是否总是将查询的整个结果集缓存在内存/磁盘上?

转载 作者:搜寻专家 更新时间:2023-10-30 20:03:46 24 4
gpt4 key购买 nike

我需要将一些非常大的 MySQL 表转储到 csv(托管在 RDS 上,因此没有 SELECT INTO OUTFILE)。这些表远远大于其服务器上的可用内存。

如果我使用带有 fetchmany()fetchone() 的 python 框架执行 SELECT * FROM a_big_table 来获取记录,将MySQL 5.6 尝试首先将整个表读入内存(我预计这会导致缓存到磁盘),还是比这更聪明?

编辑:澄清一下,我的意思是将整个结果集存储在 MySQL 缓存中(而不是 Python!)。

第二次编辑:在第一次编辑中将拼写错误“排序”更改为“存储”。关于这个案例的评论仍然有用!

最佳答案

服务器上使用的内存量由缓冲池大小配置设置定义。几乎不需要担心服务器端发生的事情。您的获取应用程序可能会成为瓶颈,因此写入转储的速度可能比 MySQL 输出的速度慢。服务器只负责在您获取时填充缓冲区。从服务器的角度获取一个更大的结果集比进行多个更小范围的查询更有效且资源需求更少......

关于mysql - MySQL (5.6) 是否总是将查询的整个结果集缓存在内存/磁盘上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52924491/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com