清除坏数据会减少索引大小吗?



我有一个Oracle Siebel数据库,目前正在进行数据清理。

在S_CONTACT表中有大量无效的电子邮件地址,它们将被null或空字符串替换。

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

然而,这个活动可能会减少索引的大小吗?

也就是说,用空白或空替换几百万个"no email"/"asdf"/"no@email.com"值(我被引导相信空白和空在Oracle中是相同的)。

Oracle将空字符串视为null。

看看这个链接:

NULL值,作为经验法则,永远不会被索引,所以是的,这可以减少索引的大小,如果可空列是该索引上唯一的列。

如果你想索引NULL值,你必须使用NVL创建一个基于函数的索引(并相应地调整你的查询),或者在([fixed value],[nullable column])上创建和索引

[EDIT]正如@a_horse_with_no_name所指出的,"只包含NULL值的元组永远不会被索引",这就是我想说的,但是更清楚。

相关内容

  • 没有找到相关文章

最新更新