数据库服务器的三种数据结构

一、数据库系统的三种数据结构

(一)逻辑结构

以逻辑抽象结构来组织数据,方便数据的查询,新增,修改和删除。

例如:索引表、树形结构。

(二)内存物理结构

以数组或者对象的方式存放在内存里,方便在内存修改和查询。

如果是C语言,一般是数组和动态内存两种。

(三)文件存储结构

把数据以一定格式组织后,存入磁盘文件里。

一般按照固定的格式来组织数据,例如数据表的每个字段占用固定的字节,对应的是某个结构体属性。


二、实际操作步骤

1、数据库用SQL语句查询。

2、数据库引擎解析SQL语句后,获得查询的表和条件。

3、调用对应的方法,读取磁盘文件的部分数据进入内存。

4、查询内存的数据,判断是否符合。

5、如果符合,把内存中数据返回。不符合返回为空。

如果是更新,还需要把内存数据写入磁盘,覆盖旧的数据,或者追加数据到磁盘文件的末尾。


三、数据库文件的跳跃读取

数据库设计时一般每部分固定字节数,查询时就能根据主键和索引,快速的跳跃读取指针,定位到目标位置读取。

例如:每条记录固定20KB,如果读取第二条记录,就能直接跳跃到位置 (起始索引 + 20 * 1024 * 1)来读取

相关推荐
fen_fen1 小时前
用户信息表建表及批量插入 100 条数据(MySQL/Oracle)
数据库·mysql·oracle
马克Markorg7 小时前
常见的向量数据库和具有向量数据库能力的数据库
数据库
Coder_Boy_9 小时前
技术让开发更轻松的底层矛盾
java·大数据·数据库·人工智能·深度学习
helloworldandy9 小时前
使用Pandas进行数据分析:从数据清洗到可视化
jvm·数据库·python
数据知道11 小时前
PostgreSQL 故障排查:如何找出数据库中最耗时的 SQL 语句
数据库·sql·postgresql
qq_124987075311 小时前
基于SSM的动物保护系统的设计与实现(源码+论文+部署+安装)
java·数据库·spring boot·毕业设计·ssm·计算机毕业设计
枷锁—sha11 小时前
【SRC】SQL注入WAF 绕过应对策略(二)
网络·数据库·python·sql·安全·网络安全
Coder_Boy_11 小时前
基于SpringAI的在线考试系统-考试系统开发流程案例
java·数据库·人工智能·spring boot·后端
Gain_chance11 小时前
35-学习笔记尚硅谷数仓搭建-DWS层最近n日汇总表及历史至今汇总表建表语句
数据库·数据仓库·hive·笔记·学习
此生只爱蛋12 小时前
【Redis】主从复制
数据库·redis