清理大量数据的最佳方法

问题描述

我的 Oracle 数据库中有一个巨大的表 - 大约 4000 万行 - 我必须根据某些业务规则检查字段内的所有数据是否正确。

让我们假设这是我的大桌子,规则是:

  1. 美国只能有 [national_id_type]=NID.. 其他必须是 VISA
  2. 只有拥有 NA 的美国才能拥有房子.. 拥有 VISA 的其他国籍不能拥有房子

enter image description here

我的想法

  1. 先把登陆表放在登陆表里面保存原始数据

  2. 在列中重写错误以在 PowerBI 仪表板中显示错误及其数量,以便质量部门可以修复它们

enter image description here

要做的是

case when nationality <> 'US' and NATINAL_ID_TYPE = 'VISA' then '99\US only can have [national_id_type]=NID' ELSE NATINAL_ID_TYPE END as NATINAL_ID_TYPE,case when nationality <> 'US' and NATINAL_ID_TYPE <> 'NA' AND own_house='YES' then '99\US only with NA can own house' ELSE own_house END as own_house

这种方法在 4000 万条记录 X 70 列中检测错误是否有效

我认为这会很慢...

你能帮我提供一些技巧吗?我可以用它来提供可用于性能的仪表板和清理错误

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)