gpt4 book ai didi

sql - 将数据从相关表复制到另一个相关表的最佳方法是什么?

转载 作者:行者123 更新时间:2023-11-29 13:37:10 25 4
gpt4 key购买 nike

将数据从相关表复制到具有相同架构的另一个相关表的最佳方法是什么。表之间是一对多的关系。

考虑以下模式

firm

id | name | city.id (FK)

employee

id | lastname | firm.id (FK)

firm2

id | name | city_id (FK)

employee2

id | lastname |firm2.id (FK)

我想做的是将具有特定 city.idfirm 行复制到 firm2 及其 employees 与公司关联到表 employee2

我使用 posgresql 9.0,所以我必须调用 SELECT nextval('seq_name') 来获取表的新 ID。

现在我执行此查询只是遍历 Java 后端服务器中的所有行,但是对于大量数据(50,000 名员工和 2000 家公司),它需要太多时间(1-3 分钟)。

我想知道是否还有另一种更棘手的方法,例如将数据选择到临时表中?或者可能使用存储过程并使用 cursror 遍历行以避免在我的后端服务器上缓冲?

最佳答案

这是一个由简单地使用序列或标识值作为表中唯一的主键引起的问题。

如果有一个现实生活中的唯一索引/主键,那么你可以加入它。另一种选择是在用序列填充表时创建一个映射表,然后您可以通过加入映射表来插入子表的 FK。它并没有完全消除循环的需要,但至少一些插入被移出到基于集合的方法中。

关于sql - 将数据从相关表复制到另一个相关表的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7081831/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com