首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >更新表时的oracle连接深度

更新表时的oracle连接深度
EN

Stack Overflow用户
提问于 2015-02-09 23:22:56
回答 1查看 76关注 0票数 0

我有一个关于甲骨文的问题。

我知道Oracle只支持在第一个子查询级别使用别名。当我想在更新表的时候进行多次分组时,这会带来问题。

例如:我有一些服务器组和一个包含有关它们的信息的数据库。我有一个表,其中包含有关组的信息,还有一个表,其中存储了组中特定服务器的工作负载的时间戳(准确地说:我实际上使用了date )。

现在,为了解决性能问题,我在服务器表中设置了一个非规范化字段,其中包含组在一天内拥有的最高工作负载。

我想要做的事情是

update server_group 
    set last_day_workload=avg(workload1)
    from (select max(workload) workload1
        from server_performance
        where server_performance.server_group_ID_fk=server_group.ID
            and time>sysdate-1
        group by server_performance.server_group_ID_fk)

ID是server_group的主键,server_group_ID_fk是server_performance表中的外键引用。到目前为止,我使用的解决方案是将第一个连接写入一个临时表,并在下一条语句中从该临时表进行更新。有没有更好的方法来做这件事?

在这个问题中它还不是这样的问题,但是如果使用临时表增加数据量,不仅要花费一些时间,而且还要占用大量的RAM。

感谢您的回答!

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28413144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档