计算一条SQL记录占用的空间

发布于 2024-11-06 22:30:36 字数 66 浏览 0 评论 0原文

是否有一个经验法则可以让您根据单个记录包含的数据类型粗略计算其所占用的空间?另外,MySQL 是否使用任何类型的优化?

Is there a rule of thumb that allows you to roughly calculate the space taken up by a single record according to the data types it contains? Also, does MySQL use optimization of any sort?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

时光是把杀猪刀 2024-11-13 22:30:36

您可以使用 SHOW TABLE STATUS 的输出来确定它。虽然这取决于发动机。

您需要插入多行(我建议至少 10,000 行)才能获得实际结果;结果还取决于确切的数据,因为大多数表都有可变长度的记录。

是的,根据发动机及其配置,有多种优化。如果启用的话,InnoDB(某些版本)支持页面压缩。 MyISAM 不会压缩其数据,但会进行索引打包,这会实现比其他方式小得多的索引。

You can use the output of SHOW TABLE STATUS to determine it. Although it depends on the engine.

You will need to insert a number of rows (I'd recommend at least 10,000) to get realistic results; the result will also depend on the exact data, as most tables will have variable-length records.

Yes, there are several optimisations depending on the engine and its configuration. InnoDB (some versions) supports page compression if you enable it. MyISAM doesn't compress its data but does do index packing, which achieves much smaller indexes than would be otherwise possible.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文