【问题标题】:Delete record using Bit map indexes使用位图索引删除记录
【发布时间】:2016-08-11 21:21:34
【问题描述】:

给出下表

通过将值划分为 4 个范围来创建属性 Salary 的位图索引: 50000以下、50000到60000以下、60000到70000以下、70000以上。

还创建了 Dept 上的另一个位图索引属性。

问题询问使用代码 4 删除员工的最佳选择是什么?明确指出是否需要对位图索引进行更改。

这就是我想到的答案。代码为 4 的员工在 CSE 部门,工资为 95,000

如果属性 Salary 上的位图索引通过扩展 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

所以值被删除了。

如果有人请告诉我这是正确的还是有其他方法

【问题讨论】:

    标签: database indexing bitmap


    【解决方案1】:

    在位图索引中进行删除的最有效方法是使用存在位图

    即如果记录存在则位值为1,如果值不存在则位值为0

    所以这个场景的存在位图是,

    1, 1, 1, 0, 1, 1, 1, 1
    

    应验证每个查询是否存在。所以 AND 操作对于被删除的记录总是会产生 0

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多