使用位图索引删除记录

3
给出以下表格:

enter image description here

对工资属性创建了位图索引,将值分为4个范围:低于50000、50000到低于60000、60000到低于70000、70000及以上。
还创建了另一个部门的位图索引属性。
问题要求删除代码为4的员工的最佳选项是什么?请明确指出是否需要对位图索引进行更改。
我的回答如下。代码为4的员工在CSE部门,薪水为95,000。
如果通过扩展70,000-80,000、80,000-90,000和90,000-95000以及95,000以上的范围来更改工资属性上的位图索引,则95,000以上的位图索引将为:
0,0,0,1,0,0,0,0
CSE部门索引将为:
1,1,0,1,0,0,1,0
工资 0,0,0,1,0,0,0,0 部门 1,1,0,1,0,0,1,0
AND 0,0,0,1,0,0,0,0
临时索引 1,0,0,0,0,0,0,0
AND 0,0,0,0,0,0,0,0
因此,该值被删除。
如果有人能告诉我这是否正确或是否还有其他方法,我将不胜感激。
1个回答

1
在位图索引中进行删除的最有效方法是使用“存在位图”。
即,如果记录存在,则位值为“1”,如果不存在,则位值为“0”。
因此,该场景的存在位图将是:
1, 1, 1, 0, 1, 1, 1, 1

每个查询都应该验证其是否存在。因此,在删除记录时,“AND”操作将始终返回“0”。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接