索引技术

在对多维数据进行查询的时候,最常用的一种方法就是通过输人关键字或布尔表达式查询属性值,从而检索到相应的空间数据和属性数据。为了满足这种查询的要求,就需要对属性数据建立索引。常用的属性数据索引方法有B树、哈希表和倒排文件等。
B树是一种平衡多叉树,一棵m阶的B树满足下列条件:
(1) 树中每个结点至多有m个孩子;
(2) 除根结点和叶子结点外,其他每个结点至少有m/2个孩子;
(3) 若根结点不是叶子结点,则至少有2个孩子;
(4) 所有叶子结点都出现在同一层,叶子结点不包含任何关键字信息;
(5 )有k 个孩子的非终端结点恰好包含有k一1个关键字。
在B树中,每个结点中关键字从小到大排列,并且当该结点的孩子是非叶子结点时,该k一1个关键字正好是k个孩子包含的关键字的值域的分划。
哈希表的基本思想是在记录的存储位置和它的关键字之间建立一确定的对应关系f,使每个关键字和结构中一个惟一的存储位置相对应。因而查找时,只需根据这个对应关系f找到给定值K的像f (K)。若结构中存在关键字和K相等的记录,则必定在f (K)的存储位置上,由此不需要进行比较便可直接取得所查记录。
倒排文件是描述一个词项集合元素和一个数据集合元素的对应关系的数据结构。记词项集合元素为TERMS={t1,t2,t3,...tm},数据集合元素为DATA={d1,d2,d3,...dn},则倒排文件给出的是一个ti出现在哪些dj里面。每一个这样的ti都形成一个倒排表,所有的倒排表形成倒排文件。之所以称为“倒排”是因为一般文件组织中先找到记录,然后再找到该记录所含的各属性值,而倒排

文件组织中,先给定某属性值,然后查找含有该属性值的各个记录。
以上三种索引方法在索引多维数据的属性数据时,都可以采用简单的外壳(如最小边界矩形框)来逼近复杂形状的对象,这样用近似对象来比较,减小了索引的存储,提高了查询的效率。
三种属性数据索引方法各有优点,B树能够让我们用键的顺序遍历数据库,哈希表能够保证仅用两次磁盘操作就能找到数据记录,倒排文件能够提供多个关键字的随机访问。因此,在对属性数据建立索引时,可以将上述方法两两结合,充分发挥各自的优点。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值