如何使用Python查询MySQL数据快照?
我想定期创建一个数据库的快照,然后在这个快照的数据上执行一些查询,以生成下一步需要的数据。最后,我想丢弃这个快照。
我会把所有数据读取到内存中的数据结构(用Python的字典)里,然后在这个数据结构上执行查询(这是我自己写的代码)。
但是,随着数据量的增加,程序在“执行查询”这一步出现了瓶颈。
有没有什么好的方法可以优雅地在数据快照上进行查询?非常感谢任何建议。
1 个回答
1
你可以通过以下方式获取你数据库中的所有表:
SHOW TABLES FROM <yourDBname>
之后,你可以通过以下方式在一个新的数据库中创建这些表的副本:
CREATE TABLE copy.tableA AS SELECT * FROM <yourDBname>.tableA
接下来,你可以查询这个副本数据库,而不是查询真实的数据。如果你在表上进行查询,请记得添加索引,因为索引不会被复制。