`
zerxd
  • 浏览: 71462 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

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算法把数据存储为平面文件格式。
分享到:
评论

相关推荐

    Chat2DB数据分析AI工具开源

    Chat2DB数据分析AI工具开源,Chat2DB简介 ...说到数据库,我们就不得不提到一种编程语言——SQL数据语言,后端程序员,算法工程师。但是SQL语言虽然使用的广泛,不过SQL语言的操作与使用还是有一定的门槛的。

    数据结构(C++)有关练习题

    9、 已知f为单链表的表头指针,链表中存储的都是整型数据,试写出实现下列运算的递归算法: a. 求链表中的最大整数; b. 求链表的结点个数; c. 求所有整数的平均数; 告要求: 写出能运行的完整...

    pyVallenAE:提取和分析声发射测量数据

    timepicker :到达时间估计的时间选择算法 注意:自R2020版本发布以来,Vallen AE Suite的免费/精简版本可用。 If提供了使用VisualAE进行实时数据可视化和分析的基本功能。因此,您可以编写自己的pridb / tradb文件...

    alibabacloud-AnalyticDB-python-demo-AI:阿里云AnalyticDB-python-demo-AI

    本项目展示使用搭建基于AI算法的视频, 图像, 文本等非结构化数据分析的的系统. 目前demo包含: 1. 基于内容的以图搜图 2. 人脸识别/人脸检索 3. 商品属性识别和多维度搜索 4. 单轮问答系统 介绍文档: 使用方法: 首先...

    大数据技术之Hadoop介绍.pdf

    Hadoop分布式⽂件系统(HDFS):⼀个分布式⽂件系统,提供⾼吞吐量的应⽤程序数据访问⽅式。 Hadoop MapReduce:这是⼀个基于YARN的系统,⽤于⼤规模数据集的并⾏处理。 ⾃2012年以来,术语"Hadoop"不仅仅是指以上...

    JAVA工具包

    提供AES算法、DES(3DES)算法、HD算法、HMAC算法、IDEA算法、MD算法、SHA算法。 cache(缓存包): 提供Ehcache缓存操作与管理的相关功能。 codec(编码包): 提供Base64编码、二进制编码、十六进制编码的相关...

    JAVA工具包大全

    提供AES算法、DES(3DES)算法、HD算法、HMAC算法、IDEA算法、MD算法、SHA算法。 cache(缓存包): 提供Ehcache缓存操作与管理的相关功能。 codec(编码包): 提供Base64编码、二进制编码、十六进制编码的...

    nosql 入门教程

    3.1.8 Apache Cassandra数据存储与访问 54 3.1.9 Apache Cassandra数据查询 55 3.2 NoSQL数据存储的语言绑定 56 3.2.1 Thrift 56 3.2.2 Java 56 3.2.3 Python 58 3.2.4 Ruby 59 3.2.5 PHP 59 3.3 小结 60 ...

    cache Server V3

    数据库的特点进行了优化,采用先进的体系架构、数据缓存、快速算法、并行操 作、异步处理技术。Rose提供了和传统关系数据库管理系统(MS SQL SERVER、 Oracle、Sybase、DB2、mysql)的访问接口,可以以同步或异步...

    DCache:基于TARS框架的分布式内存NOSQL系统,支持LRU算法,数据持久化在后台数据库。 用户可以在 Web 界面上轻松部署、发布和扩展服务

    DCache是一个基于框架开发的分布式NoSQL存储系统,数据采用内存存储,支持连接后端DB实现数据持久化。DCache采用集群模式,具有高扩展、高可用的特点。 DCache在腾讯内部有大量业务使用,日访问总量超万亿次。 ...

    【白雪红叶】JAVA学习技术栈梳理思维导图.xmind

    数据挖掘算法 KMP算法 GZZ算法 HASH分桶 关联规则算法 APRORIVE算法 分布式 负载均衡 水平伸缩 集群 分片 Key-hash 异步 一致性hash 消峰 分库分表 锁 悲观锁 乐观锁 行级锁 分布式锁 分区...

    数据库系统安全、技术操作规程.doc

    Ovation数据库允许应用软件和控制系统通过第三方SQL(结构 化查询语言)工具方便的访问数据。 主数据库中信息分成两个主要部分:用户级和系统级。 用户级由下列一组表组成(可以进行所有SQL的读访问): 点表-表示...

    77G 22套C语言 C++ 数据结构 程序设计视频课程合集 C丨C++相关学习视频全套视频教程

    数据结构与算法_C语言 01.swap.mp4 02.BubbleSort.mp4 03.SelecttionSort.mp4 04.顺序查找.mp4 05.C_DS_折半查找.mp4 06.递归.mp4 07递归算法_折半查找.mp4 08.Permutations.mp4 09.插入排序.mp4 10.快速...

    数据库系统-招标参数---模板.doc

    " " " "在数据库产品中提供OLAP多维存储库的商务和技术" " " "许可,包括多维建模工具,以及多维存储服务器 " " " "数据库产品必须提供数据挖掘算法的商务和技术许" " " "可,例如:时间序列、神经网络、关联分析...

    matlab分时代码-physiozoo:人类和动物数据的心率变异性分析平台

    一组配置文件,这些文件适用于HRV度量和mhrv算法,以处理来自不同哺乳动物的数据。 通过创建简单的人类可读的哺乳动物特定的配置文件,所有HRV措施都可以进一步适用于其他哺乳动物的分析。 PhysioZoo的任务是标准化...

    Rebus-cuplaj:使用最大二部图耦合算法生成的Rebus

    使用最大二部图耦合算法生成的Rebus 使用的技术 HTML CSS Java脚本 PHP MySQL的 开源库 引导程序 AngularJS 如何将项目放在服务器上? 您必须首先安装LAMP(对于Linux)或XAMPP(对于Windows) 源文件夹必须...

    algo-trade-bot:在羊驼纸交易平台上交易的Python和sql项目

    MACD-Crossover->脚本,用于访问sql db,评估数据并基于该数据创建位置 Macd-backtest->使用sql db中的过去数据来确定macd策略执行方式的脚本 populate-db->从yfinance收集信息并填充sql db create-db->使用...

    MySQL分库分表总结讲解

    当出现这种情况时,我们可以考虑分库分表,即将单个数据库或表进行拆分,拆分成多个库和多个数据表,然后用户访问的时候,根据一定的算法与逻辑,让用户访问不同的库、不同的表,这样数据分散到多个数据表中,减少了...

    Java高并发高性能分布式框架从无到有微服务架构设计.doc

    3、缓存不命中时,需要回源到DB/服务请求多变问题:每个实例在缓存不命中的情况下 都会回源到DB加载数据,因此多实例后DB整体的访问量变多了解决办法是可以使用如一 致性哈希分片算法。因此,这些情况可以考虑使用...

    心率检测matlab代码-Physiozoo-backup:生理动物备份

    一组配置文件,这些文件适用于HRV度量和mhrv算法,以处理来自不同哺乳动物的数据。 通过创建简单的人类可读的哺乳动物特定的配置文件,所有HRV措施都可以进一步适用于其他哺乳动物的分析。 PhysioZoo的任务是标准化...

Global site tag (gtag.js) - Google Analytics