如何查找 MySQL 中表的当前大小(在内存中)?

mysqlmysqli database

要获取表的当前大小,请使用以下命令,它将显示有关表的详细信息,包括大小 −

show table status like ‘yourTableName’\G

首先我们创建一个表 −

mysql> create table DemoTable
   -> (
   -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> CustomerName varchar(20),
   -> CustomerAge int,
   -> CustomerCountryName varchar(20)
   -> );
Query OK, 0 rows affected (0.75 sec)

使用 insert 命令在表中插入一些记录 −

mysql> insert into DemoTable(CustomerName,CustomerAge,CustomerCountryName) values('John',24,'US');
Query OK, 1 row affected (0.23 sec)

mysql> insert into DemoTable(CustomerName,CustomerAge,CustomerCountryName) values('Carol',22,'UK');
Query OK, 1 row affected (0.14 sec)

使用 select 语句显示表中的所有记录 −

mysql> select *from DemoTable;

输出

+----+--------------+-------------+---------------------+
| Id | CustomerName | CustomerAge | CustomerCountryName |
+----+--------------+-------------+---------------------+
| 1  | John         | 24          | US                  |
| 2  | Carol        | 22          | UK                  |
+----+--------------+-------------+---------------------+
2 rows in set (0.00 sec)

以下查询用于查找表的当前大小(在内存中) −

mysql> show table status like 'DemoTable'\G

输出

*************************** 1. row ***************************
Name: DemoTable
Engine: InnoDB
Version: 10
Row_format: Dynamic
Rows: 0
Avg_row_length: 0
Data_length: 16384
Max_data_length: 0
Index_length: 0
Data_free: 0
Auto_increment: NULL
Create_time: 2019-06-10 16:35:55
Update_time: NULL
Check_time: NULL
Collation: utf8_unicode_ci
Checksum: NULL
Create_options:
Comment:
1 row in set (0.01 sec)

相关文章