Advertisement

如果查询的数据量很大是否会导致数据库内存溢出

阅读量:

该文章为《MySQL实战45讲》课程学习笔记及部分摘抄,原课程链接MySQL 实战 45 讲 (geekbang.org)

遇到这样一个问题时:我的主机内存仅有 100GB可用。现在计划对占用约274MB的空间进行一次全表扫描。这样操作是否会导致数据库主机的内存耗尽?

这个课题确实值得深思,在系统出现OOM错误(即Out Of Memory)时更是不可小觑。然而,在进行逻辑备份时,“实际上是就是在进行整个数据库的全扫描操作。”如果这种操作会导致内存占用急剧攀升至危险水平的话,“那么这样做的话数据库不会长时间保持在线状态。”

据观察者指出,在处理大数据表格时进行全面扫描似乎是可行的。但是,请问具体的执行步骤是什么?

一、全表扫描对 server 层的影响

当然,在客户端处存储扫描结果时会使用以下命令:

复制代码
    mysql -h$host -P$port -u$user -p$pwd -e "select * from db1.t" > $target_file
    
    AI写代码sql

InnoDB存储的数据主要集中在主键索引上。因此,在这种情况下

全部评论 (0)

还没有任何评论哟~