我需要知道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 |
+-------------------+类似的问题-> How to get size of column in mysql table,但没有一个答案以字节为单位。
How to get the sizes of the tables of a MySQL database?,这是表的大小。
MySQL版本-> 8.0

发布于 2021-06-25 17:40:29
https://stackoverflow.com/questions/68128726
复制相似问题