我们的生产数据库大小是25 my (大约),有700个表,我只想为本地数据库中的每个表导入大约2%的数据,用于开发/测试目的……(应该以保留外键约束的方式导入数据)?
欢迎您的意见/建议!
发布于 2010-08-13 15:18:42
你将找不到完全自动化的方法来做这件事。您需要了解数据库的结构和业务规则,以便确定如何减少数据。
我建议您遍历最高级别的表,这些表有很好的数据分布,从中挑选一些并从那里开始工作。
以便实际执行数据导入/导出。实际上,我会考虑备份和复制数据库,然后运行一堆delete语句,直到它达到您所需的大小。然后重新组织、收缩并再次备份以在本地恢复。
发布于 2010-08-13 15:30:19
按照Robin的说法,删除要比编写选择性插入脚本容易得多
如果您有预留实例,但没有级联删除,则可以轻松地向后使用嵌套条件
从这里开始...
1
delete from table1 where table1PK IN
(somecriteria for table1 deletion)2
delete from table2 where table2PK in
(select table2PK from table2 where
table1PK in (somecriteria for table1 deletion) -- same as above
) --等等...继续在树上嵌套
但是当你开始运行删除的时候,显然你需要颠倒删除的顺序
不..2 ..1
对于700个表来说,这可能仍然是大量的工作,但通常大多数数据都在几个表中-您只需要关注较大的表?
HTH
https://stackoverflow.com/questions/3474676
复制相似问题