首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >了解mysql内存消耗

问了解mysql内存消耗
EN

Stack Overflow用户
提问于 2016-09-15 18:10:39
回答 1查看 37关注 0票数 0

我想了解sql表中特定blob列所消耗的内存。

我有一个表学生,其字段数据为medium blob类型。我已经获取了blob列的总长度:

代码语言:javascript
复制
 select sum(length(DATA)) from STUDENT;
 result is : 922358752

我不明白的是,如何让这个blob消耗的内存以MB为单位?

EN

回答 1

Stack Overflow用户

发布于 2016-09-15 19:17:19

您使用的是SUM(),所以您的结果是STUDENT表中所有DATA列的长度之和。以字节为单位。

通常,通过将字节除以1024来获得千字节。通过将千字节除以1024可以得到兆字节。你可以通过....获得千兆字节。你明白了吧。

MySQL在它的磁盘文件中存储额外的内容。有些额外的东西是可以预测的。例如,每个medium blob列使用三个额外的字节。看看这个:http://dev.mysql.com/doc/refman/5.7/en/storage-requirements.html

您的SUM()结果不包括这额外的三个字节。如果你想包含它们,你需要

代码语言:javascript
复制
select sum(length(DATA)) + 3 * count(DATA) from STUDENT;

或

代码语言:javascript
复制
 select sum(length(DATA) + 3) from STUDENT;

您可能会像这样很好地显示兆字节

代码语言:javascript
复制
 select ROUND(sum(length(DATA) + 3)/(1024.0*1024.0), 2) from STUDENT;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39508444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档