首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在不影响生产环境的情况下比较oracle中的两个大型表的数据

问如何在不影响生产环境的情况下比较oracle中的两个大型表的数据
EN

Stack Overflow用户
提问于 2016-11-15 16:38:58
回答 1查看 499关注 0票数 0

我面临着从两个巨大的表格中比较数据的问题。

设想情况:

问题:我必须找出存储在oracle中的表中的两组数据之间的差距,并在其中使用live应用程序。我不能简单地对整个数据集(8,000,000行)使用select语句,这会影响应用程序的性能。

我现在所做的是:

只需将光标放在一组数据上,并将我的逻辑与其他数据集进行比较,并在其他表中插入空白(如逻辑),但在此解决方案中,它一次比较一行,这是非常缓慢的过程,过了一段时间就会超时。

有人能提出比这更好的解决方案吗,这样就可以加快进程,真正感谢帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-15 17:54:37

根据具体的用例,可以有几种不同的方法来提高性能。根据您提供的信息,下面是一些可能有用的东西。

  1. 使用“减号”或“不存在”重写查询。
  2. 在where子句中使用的列上创建索引。请注意,创建索引将花费时间、资源和影响系统,因此在服务器负载较低时最好这样做。如果索引已经存在且未被使用,请尝试使用提示。
  3. 如果这些表中的数据是静态的,请尝试在测试环境中复制表并运行适当的测试。

在8M行上使用游标听起来不太有效,除非这是唯一的方法。

如果你提供更多的细节,我们可能会给出更好的建议。

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

https://stackoverflow.com/questions/40615174

复制
相关文章

相似问题

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