问题描述
我的 Oracle 数据库中有一个巨大的表 - 大约 4000 万行 - 我必须根据某些业务规则检查字段内的所有数据是否正确。
让我们假设这是我的大桌子,规则是:
- 美国只能有 [national_id_type]=NID.. 其他必须是 VISA
- 只有拥有 NA 的美国才能拥有房子.. 拥有 VISA 的其他国籍不能拥有房子
我的想法
我要做的是
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 (将#修改为@)