每日一面
以 Compact 行格式为例: 总结 删除一条记录, 数据原有的被废弃 , 记录头发生变化 ,主要是 打上了删除标记 。也就是原有的数据 deleted_flag 变成 1 ,代表数据被删除。但是数据没有被清空,在新一行数据大小小于这一行的时候, 可能会占用这一行 。这样其实就是 存储碎片 ,要想减少存储碎片,可以通过重建表来实现(例如对于高并发大数据量表,除了归档,还可以通过利用无锁算法 Alter 修改字段来重建表增加表性能)。 Compact 行格式存储 我们来创建一个包含几乎所有基本数据类型的表,其他的例如 geometry,timestamp 等等,也是基于 double 还有 bigint 而来的, text、json、blob等类型,一般不与行数据一起存储,我们之后再说: create table record_test_1 ( id bigint, score double, name char(4), content varchar(8), extra varchar(16) )row_format=compact; 插入如下几条记录: INSERT INTO `record_test_1`(`id`, `score`, `name`, `content`, `extra`) VALUES (1, 78.5, 'hash', 'wodetian',