检查大量列的null-ness

时间:2014-09-11 07:04:28

标签: sql oracle11g

在我目前的项目(重新设计)中,我的任务是检查一系列即将删除的列是否有数据,因此我们可以决定是否以及如何将它们迁移到新的和改进的表/列。这项任务本身就不是问题,而只是背景。

问题是,在总共150个列中有大约30列要检查。表格相当大,所以我担心链式select * from table where x is not null or y is not null or...有点......很慢。

是否有更好或更优雅的方法来检查多列的null-ness?

我是否更好地建议只是单独检查色谱柱,或者在较小的组中检查色谱柱并且不打算使用最佳解决方案?

1 个答案:

答案 0 :(得分:1)

这只是一张桌子。它将通过记录(全表扫描)和检查的标准进行读取记录。这并不慢。没有排序,没有加入,没有子选择或中间结果。这不能慢。别担心。

BTW:不应该从表中选择*,其中x不为空 OR y不为空......?

您想要查找包含任何列中数据的所有记录,对吗?