如何使用Python查询MySQL数据快照?

1 投票
1 回答
645 浏览
提问于 2025-04-18 02:03

我想定期创建一个数据库的快照,然后在这个快照的数据上执行一些查询,以生成下一步需要的数据。最后,我想丢弃这个快照。

我会把所有数据读取到内存中的数据结构(用Python的字典)里,然后在这个数据结构上执行查询(这是我自己写的代码)。

但是,随着数据量的增加,程序在“执行查询”这一步出现了瓶颈。

有没有什么好的方法可以优雅地在数据快照上进行查询?非常感谢任何建议。

1 个回答

1

你可以通过以下方式获取你数据库中的所有表:

SHOW TABLES FROM <yourDBname>

之后,你可以通过以下方式在一个新的数据库中创建这些表的副本:

CREATE TABLE copy.tableA AS SELECT * FROM <yourDBname>.tableA

接下来,你可以查询这个副本数据库,而不是查询真实的数据。如果你在表上进行查询,请记得添加索引,因为索引不会被复制。

撰写回答