这是一个表创建脚本:
create table test (col_a int not null auto_increment primary key);
如果该表将有1047600行,那么文件系统上的表大小是多少?
我猜col_a
类型是int
,所以4个字节。
表数据大小因此应为(4 * 1047600/16kb) * 16kb
。
但是我看到了:
select * from information_schema.tables
TABLE_NAME, TABLE_TYPE, ENGINE, VERSION, ROW_FORMAT, TABLE_ROWS, AVG_ROW_LENGTH, DATA_LENGTH, MAX_DATA_LENGTH, INDEX_LENGTH, DATA_FREE
test, BASE TABLE, InnoDB, 10, Dynamic, 1047600, 24, 25739264, 0, 0, 4194304, 1376221
-- avg_row_lengh : 24
-- data_lengh : 25739264
为什么会出现这些值?