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



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