当我试图使用下面的查询从远程aws rds mysql服务器获取db schema大小时,我发现返回的数据没有反映实时的schema大小(实际大小的10%)。 SELECT table_schema "DB Name", ROUND(SUM(data_length + index_length) / 1024 / 1024, 1) "DB Size in MB" FROM information_schema.tables GROUP BY table_schema;
查询在32个并发事件之后立即执行 INSERT
语句已完成,没有错误。这些语句写了大约15gb的数据(我们使用innodb和 innodb_buffer_pool_size
已设置为48gb)。每隔一段时间我会再次查询它,我会返回一个更大的db大小的数字,直到它达到真正的大小。
更有趣的是,我还没有见过这样的行为,当有innodb\u file\u per\u table时(还有其他不同的配置)。每次比赛结束后 INSERT
语句完成后,我可以使用相同的查询来查询数据库大小,并始终得到准确的结果。
我怀疑可能在我查询大小的时候,数据还没有被刷新到磁盘中。有谁能给一个更详细和技术性的解释吗?
谢谢您!
暂无答案!
目前还没有任何答案,快来回答吧!