我们的生产数据库大小是25Gb(大约)并且有700个表,我只想为我的本地数据库中的每个表导入大约2%的数据用于开发/测试......(数据应该导入到应该保留外键约束的方式)???
您的意见/建议将受到热烈欢迎!!!
答案 0 :(得分:1)
您将找不到完全自动化的方法。将需要数据库的结构和业务规则来确定如何减少数据。
我建议您浏览一下最高级别的表格,这些表格包含了大量数据,并且从那里开始工作。
为了实际执行数据导入/导出。我实际上会考虑备份和复制数据库,然后运行一堆删除语句,直到达到所需的大小。然后重新组织,缩小并再次备份以在本地恢复。
答案 1 :(得分:0)
根据Robin,删除比编写选择性插入更容易
如果你有RI并且没有级联删除,你可以使用嵌套标准轻松地向后工作
以这种方式开始...
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