BerkeleyDB数据访问算法说明计算机等级考试

文章作者 100test 发表时间 2010:01:01 13:02:48
来源 100Test.Com百考试题网


  DB数据访问算法

  在数据库领域中,数据访问算法对应了数据在硬盘上的存储格式和操作方法。在编写应用程序时,选择合适的算法可能会在运算速度上提高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算法把数据存储为平面文件格式。

  DB常用函数使用范例(C)

  #include


相关文章


A*算法实现迷宫最短路径搜索(C++实现)计算机等级考试
“指向const对象的指针”和“const指针”计算机等级考试
CPPTemplates之template关键字的用法技巧计算机等级考试
CPPTemplates之类模板的继承计算机等级考试
BerkeleyDB数据访问算法说明计算机等级考试
对插入排序的改进计算机等级考试
C 模板类继承中诡异的作用域问题计算机等级考试
c 中头文件重复定义的问题计算机等级考试
CPPTemplates之仿函数计算机等级考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛