上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.3 数据库存储设计
关系型数据库管理系统的工作过程如图2-2所示。
图2-2 关系型数据库管理系统的工作过程
数据库应用程序先发起对数据的读/写请求,数据库管理系统再为每个数据库连接分配一个用户工作区,用来处理该连接发起的SQL语句。SQL语句交由数据库计算引擎分析和执行。在读取数据时为了提高效率,先确定系统缓冲区中的数据是否符合要求,若不符合要求,则从数据存储区把相应的数据调入缓冲区,再返回。数据存储区也是一个逻辑概念,存储区中的数据来自操作系统上的一个或多个数据文件。在插入、修改或删除数据时,也是先操作缓冲区中的数据,再适时更新存储区中的数据,同时要配合记录操作日志。这种设计方式是为了提高数据库的读/写性能,降低磁盘交互频率。
此外,在一些关系型数据库中,为了解决大容量单表扫描效率低下的问题,可以对表进行分区、分桶存储数据,一个分区对应一个文件,把数据分散到多个磁盘文件中,以减少单个文件的读取频次。