mysql - 如何获取 MySQL 中列所占用的字节数?
问题描述
我需要知道 MySQL 中的一列占用了多少字节。
考虑以下模式 -
+-------+---------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------------------+------+-----+---------+-------+
| id | bigint(20) unsigned | NO | PRI | NULL | |
| data | longblob | YES | | NULL | |
+-------+---------------------+------+-----+---------+-------+
忽略id
字段,让我们谈谈data
字段。考虑这些元组 -
+-------+---------------------+
| id | data |
+-------+---------------------+
| 1 | {ab₹} |
| 2 | {ab} |
+-------+---------------------+
所以,我需要的是字节大小,而不是没有字符,比如 -
+---------------------+
| size_in_bytes |
+---------------------+
| 7 | // {->(1), a->(1), b->(1), ₹->(3), }->(1)
| 4 | // {->(1), a->(1), b->(1), }->(1)
+---------------------+
经过数小时的搜索,我发现很少有只导致没有字符的功能。
select OCTET_LENGTH(data) from table_name;
+--------------------+
| OCTET_LENGTH(data) |
+--------------------+
| 5 |
| 4 |
+--------------------+
SELECT LENGTH(data) from table_name;
+--------------+
| LENGTH(data) |
+--------------+
| 5 |
| 4 |
+--------------+
SELECT char_length(data) from table_name;
+-------------------+
| char_length(data) |
+-------------------+
| 5 |
| 4 |
+-------------------+
类似问题->如何获取 mysql 表中列的大小,但没有一个答案以字节为单位。
如何获取 MySQL 数据库表的大小?这是桌子的大小。
MySQL 版本 -> 8.0
解决方案
推荐阅读
- python - Sublime 在输入时不显示模块内方法的建议
- python - 如何修复 TypeError: unhashable type: 'list'?
- c# - 为什么在 ASP.NET 中有些属性为 null 而有些则不使用 get 方法?
- bash - sed -n 命令或变量替换
- python - 接收 SIGINT 或 SIGTERM 时,Moviepy 上的管道损坏错误
- java - 如何防止基于正在使用的活动弹簧配置文件执行 CommandLineRunner run() 方法?
- php - laravel sanctum Route [login] 未定义
- python - 从列表中删除元素
- php - - 不支持的操作数类型:“str”和“int”Metin2
- android - Android:从firebase上传和检索图像组