基础信息:
把数据库从服务器 A 迁移到服务器 B 时,发现有一张大表跟 A 服务器占用空间不一致,
请教下这是什么原因呢?
会影响数据的一致性吗?
如图:



1
cloudyi666 2021 年 9 月 29 日 via iPhone
可能事务管理?
|
2
mouzhiyang 2021 年 9 月 29 日 via Android
有些删除的数据原表没有释放空间,
迁移后表是实际大小。 |
3
wanguorui123 2021 年 9 月 29 日 via iPhone
因为删数据不释放已经分配的空间
|
4
hsymlg 2021 年 9 月 29 日
正常使用的 mysql 都会有页分裂,你这个 source 相当于手动 OPTIMIZE 了吧。可以用 information_schema.TABLES 看看你这两个库的表碎片信息
|
5
skymei 2021 年 9 月 29 日
原表有碎片呀,重建之后空间变小很正常的,对于经常写入更新的表,碎片率比较大,定期优化下,空间也能减少很多
|
6
PerFectTime 2021 年 9 月 29 日
日志?
|
7
pkoukk 2021 年 9 月 29 日
数据更新 /删除导致数据位置改变,数据之间存在间隙,这些间隙不会立刻被压缩掉。
|
8
chinafengzhao 2021 年 9 月 29 日 via iPhone
你这个什么管理平台?
|
9
linora 2021 年 10 月 8 日
你应该比对数据行数,而不是占用空间
必要时,使用 pt-table-checksum 工具检查 |
10
jerryli 2021 年 10 月 11 日
迁移后,数据更紧凑了,碎片少了,所以变小了。但如果本来就很紧凑,迁移后会变大
|