热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

010.达梦数据库数据文件

数据文件数据文件以dbf为扩展名,它是数据库中最重要的文件类型,一个DM数据文件对应磁盘上的一个物理文件,数据文件是真实数据存储的地方,每个数据库至少有
数据文件

数据文件以 dbf为扩展名,它是数据库中最重要的文件类型,一个 DM数据文件对应磁

盘上的一个物理文件,数据文件是真实数据存储的地方,每个数据库至少有一个与之相关的

数据文件。在实际应用中,通常有多个数据文件。

当 DM的数据文件空间用完时,它可以自动扩展。可以在创建数据文件时通过 MAXSIZE

参数限制其扩展量,当然,也可以不限制。但是,数据文件的大小最终会受物理磁盘大小的

限制。在实际使用中,一般不建议使用单个巨大的数据文件,为一个表空间创建多个较小的

数据文件是更好的选择。

数据文件在物理上按照页、簇和段的方式进行管理。

数据文件按数据组织形式,可以分为如下几种:


1. B 树数据

行存储数据,也是应用最广泛的存储形式,其数据是按 B树索引组织的。普通表、分区

表、B树索引的物理存储格式都是 B树。

一个 B树包含两个段,一个内节点段,存放内节点数据;一个叶子段,存放叶子节点数

据。其 B树的逻辑关系由段内页面上的记录,通过文件指针来完成。

当表上没有指定聚簇索引时,系统会自动产生一个唯一标识 rowid 作为 B 树的 key 来

唯一标识一行。


2. 堆表 堆表 数据

堆表的数据是以挂链形式存储的,一般情况下,支持最多 128个链表,一个链表在物理

上就是一个段,堆表采用的是物理 rowid,在插入过程中,rowid 在事先已确定,并保证

其唯一性,所以可以并发插入,插入效率很高,且由于 rowid 是即时生成,无需保存在物

理磁盘上,也节省了空间。


3. 列存储数据

数据按列方式组织存储,每个列包含 2个段,一个段存放列数据,一个段存放列的控制

信息,读取列数据时,只需要顺序扫描这两个段。在某些特殊应用场景下,其效率要远远高

于行存储。


4. 位图索引

位图索引与 B树索引不同,每个索引条目不是指向一行数据,而是指向多行数据。每个

索引项保存的是一定范围内所有行与当前索引键值映射关系的位图。

数据文件中还有两类特殊的数据文件:ROLL和 TEMP文件。


1). ROLL 文件

ROLL 表空间的 dbf 文件,称为 ROLL 文件。ROLL 文件用于保存系统的回滚记录,提

供事务回滚时的信息。回滚文件整个是一个段。每个事务的回滚页在回滚段中各自挂链,页

内则顺序存放回滚记录。


2). TEMP 文件

TEMP.DBF 临时数据文件,临时文件可以在 dm.ini中通过 TEMP_SIZE配置大小。

当数据库查询的临时结果集过大,缓存已经不够用时,临时结果集就可以保存在

TEMP.DBF文件中,供后续运算使用。系统中用户创建的临时表也存储在临时文件中。


总结

上面即为达梦中数据库数据文件概念知识。浅见认知,如有错误,请不吝指正。谢谢!



推荐阅读
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 数据管理权威指南:《DAMA-DMBOK2 数据管理知识体系》
    本书提供了全面的数据管理职能、术语和最佳实践方法的标准行业解释,构建了数据管理的总体框架,为数据管理的发展奠定了坚实的理论基础。适合各类数据管理专业人士和相关领域的从业人员。 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 本文详细介绍了MySQL InnoDB存储引擎中的间隙锁概念及其作用,探讨了它在解决幻读问题方面的关键角色,并解析了间隙锁与其他操作之间的冲突关系。同时,文章还讨论了next-key-lock的构成及应用,以及在不同场景下的优化策略。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ... [详细]
author-avatar
mobiledu2502861197
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有