归零坏数据会减少索引大小吗?

时间:2014-08-18 14:11:42

标签: oracle siebel

我有一个Oracle Siebel数据库,目前是数据清理练习的主题。

在S_CONTACT表中有一堆无效的电子邮件地址,这些地址将由空字符串或空字符串替换。

据我了解,此活动不会减小表的大小,因为它是一个固定长度的列。

但是,此活动是否可能减少索引的大小?

也就是说,用空格或空值替换几百万“无电子邮件”/“asdf”/“no@email.com”值(我被认为在Oracle中空白和空值相同)。

1 个答案:

答案 0 :(得分:2)

Oracle将空字符串视为null。

看一下这个链接: null vs empty string in Oracle

根据经验,NULL值永远不会被索引,所以是的,这可能会减小索引的大小,如果可空列是所述索引上的唯一列。

如果要索引NULL值,则必须使用NVL创建基于函数的索引(并相应地调整查询),或者创建和索引([固定值],[可空列])

[编辑]正如@a_horse_with_no_name指出的那样,"仅包含NULL值的元组永远不会被编入索引",这就是我想说的,但方式更清晰。