| 工 控 机 | 现场总线 | 组态软件 | 数采监测 | 控制系统 | P  L  C | 变 频 器 | 传 感 器 | 仪器仪表
| 嵌 入 式 | 单 片 机 | 执行机构 | 电力电子 | 低压电器 | 电   源 | 驱动传动 | 接口隔离 | 数控设备
| 网络线缆 | 环保设备 | 智能建筑 | 汽车电子 | 管控一体 | 液压气动| 本质安全 | 工控模块 | 电子元件
| SCADA/RTUH  M  I  |  GPS/GIS | IC产品 | 包装设备 | GPRS/CDMA      搜索|企业登陆
首页 | 厂商 | 产品 | 快讯 | 人物视点 | 应用 | 资源库 | 展会 | 核心期刊 | 供求 | 名师英才 | 人才 | 论坛 | 人才招聘
 
  个人用户企业用户
资源是您发展的基石
◇中国航天研究机构
◇中国航天科技集团
◇中国航空研究机构
◇中国航天科工集团
◇中国船舶研究机构
更多客户信息>>>
 
嵌入式数据库Berkeley DB的数据访问算法
 时间:2007-11-30  来源:赛迪网
 页面功能 【字体: 】【评论】【查看对此文的评论

  在数据库领域中,数据访问算法对应了数据在硬盘上的存储格式和操作方法。在编写应用程序时,选择合适的算法可能会在运算速度上提高1个甚至多个数量级。大多数数据库都选用B+树算法,DB也不例外,同时还支持HASH算法、Recno算法和Queue算法。接下来,我们将讨论这些算法的特点以及如何根据需要存储数据的特点进行选择。

  B+树算法:B+树是一个平衡树,关键字有序存储,并且其结构能随数据的插入和删除进行动态调整。为了代码的简单,DB没有实现对关键字的前缀码压缩。B+树支持对数据查询、插入、删除的常数级速度。关键字可以为任意的数据结构。

  HASH算法:DB中实际使用的是扩展线性HASH算法(extended linear hashing),可以根据HASH表的增长进行适当的调整。关键字可以为任意的数据结构。

  Recno算法: 要求每一个记录都有一个逻辑纪录号,逻辑纪录号由算法本身生成。实际上,这和关系型数据库中逻辑主键通常定义为int AUTO型是同一个概念。Recho建立在B+树算法之上,提供了一个存储有序数据的接口。记录的长度可以为定长或不定长。

  Queue算法:和Recno方式接近, 只不过记录的长度为定长。数据以定长记录方式存储在队列中,插入操作把记录插入到队列的尾部,相比之下插入速度是最快的。

  对算法的选择首先要看关键字的类型,如果为复杂类型,则只能选择B+树或HASH算法,如果关键字为逻辑记录号,则应该选择Recno或Queue算法。当工作集关键字有序时,B+树算法比较合适;如果工作集比较大且基本上关键字为随机分布时,选择HASH算法。Queue算法只能存储定长的记录,在高的并发处理情况下,Queue算法效率较高;如果是其它情况,则选择Recno算法,Recno算法把数据存储为平面文件格式。


关于我们 | 友情链接 | 意见反馈 | 合作媒体 | 网站地图
京ICP证040996号  中国自控网 版权所有  站内内容未经中国自控网许可不得转载
电 话:010-62192616/62132436  传 真:010-62192616  地址:北京海淀区皂君庙14号鑫雅苑6号楼601室  邮编:100081
E-mail:manager@autocontrol.com.cn
广告联系 >> [ 刘先生:010-62130875 ]