查看Doris表占用空间
近期想统计下各表占用的存储空间大小,官网文档SHOW-TABLE-STATUS给的语句很简单,但是对于列的含义写的不是很明白,我写入数据验证了一下。
Doris版本:1.2
- 查看当前数据库下所有表的信息
SHOW TABLE STATUS;
- 查看指定数据库下,名称包含 exam 的表的信息
SHOW TABLE STATUS FROM db LIKE "%exam%";
+----------+--------+---------+------------+-----------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+-----------+----------+----------------+---------+
| Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time | Update_time | Check_time | Collation | Checksum | Create_options | Comment |
+----------+--------+---------+------------+-----------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+-----------+----------+----------------+---------+
| exam151 | Doris | NULL | NULL | 200000000 | 349 | 69872320591 | NULL | NULL | NULL | NULL | 2023-03-06 16:19:18 | 2023-03-14 11:05:38 | NULL | utf-8 | NULL | NULL | 表151 |
| exam152 | Doris | NULL | NULL | 200000000 | 174 | 34935641063 | NULL | NULL | NULL | NULL | 2023-03-14 11:10:43 | 2023-03-14 11:14:35 | NULL | utf-8 | NULL | NULL | 表152 |
+----------+--------+---------+------------+-----------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+-----------+----------+----------------+---------+
2 rows in set (0.01 sec)
上述两张表的数据是完全一样的,不同是exam151是双备份,exam152是单备份。
我们的目标是想知道数据占用空间情况,请关注Data_length
,从数值来看该列显示的是整张表占用的空间大小,如果是双备份,则是双备份的大小。这个是可以理解的。
但是Avg_row_length
列,从字面值理解,应该是指行的平均长度,两张表的数据一样,平均长度应该一样才对啊,实际此处显示的却是双倍关系。
另外关注Index_length
,这两张表我都是建了索引的,实际此处显示为NULL
。
以上。