mysql - pt-online-schema-change 改变后行数突然跳跃
问题描述
我最近一直在做一些数据库维护,偶然发现了一些很奇怪的东西。在标准程序清理过程中,我发现运行 pt-online-schema-change 之前的行数远低于运行 pt-online-schema-change 之后的行数。最初我认为这是一个显示错误并尝试重新连接。但是,行数保持不变。
在运行我的数据库维护之前,我从一个有 26.000.000 行的表中删除了 10.000.000 行。在此之后,我下降到 16.000.000 行。然后我运行 pt-online-schema-change 来添加一列。2 小时后完成后突然显示 18.000.000 行。所有这些都是在此表中几乎没有活动的时间段内进行的。& 进一步的挖掘表明,在 pt-online-schema-change 运行时只增加了大约 11.000 行。
所以。如何解释这一点?难道仅仅是因为 MySQL 的行数在大规模删除后变得不准确吗?因为这是我自己能想到的唯一合理解释,因为 pt-online-schema-change 创建了一个新表并迁移数据。这意味着该表上的行数是新的。
我使用 Sequel Pro,它似乎用来SHOW TABLE STATUS LIKE '...';
读取行数。
有没有人在运行 pt-online-schema-change 后对行数跳跃有任何经验?
解决方案
推荐阅读
- jquery - Bootstrap Modal Is not Embedding Image inside itself
- sqlite - Delphi & SQLite:获取过去 12 个月每月的记录数
- r - 当元素从一个向量传递到 R 中的子向量时,如何可视化它们?
- node.js - 我的 node.js socket.io 简单服务器在由 docker run 运行时不起作用
- laravel - Laravel 6 测试 - 未知数据库':内存:'
- sql - 如何确定 VBA SQL 语法问题的原因?
- java - 为什么 Java N1QL 中的 ORDER BY 不能按预期工作
- xamarin.forms - 如何添加单独的项目和类库的初始化
- visual-studio-code - 如何设置 Visual Studio Code 以运行和调试 ColdFusion 代码?
- python - docker中的张量流图像是否使用GPU?