软件行为(五)之数据存储

本文探讨了数据存储的四个层次:寄存器、高速缓存、内存和硬盘,强调了CPU访问速度的层次关系。内存处理速度优于硬盘,但成本更高。同时,介绍了四种数据存储结构——顺序存储、链接存储、索引存储和散列存储,以及它们在不同场景下的应用。选择合适的存储方式对于数据处理效率至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

笔者愚见:数据的存储方式是软件行为中的重中之重。
存储数据大约有4个地方:寄存器、高速缓存、内存及硬盘等。其中cpu对数据的访问速度也是依次降低,如下图
在这里插入图片描述
上图从上到下也是cpu访问数据的顺序,CPU的数据去寄存区去拿,这样访问速度就更快了,但是此时寄存器并没有数据,因此就产生了图中的箭头,先让内存的数据加到–>高速缓存加到–>寄存器,当我们有一次在寄存器没有拿到数据,再依次向下访问,这样访问速度就会变快。高速缓存和寄存器是由于CPU处理数据的速度越来越快,就导致内存访问速度就跟不上才产生的,所以供研发人员操作的就只有内存和硬盘了。
显而易见,如果是在相同的数据存储结构下,内存中的数据处理是比硬盘内的数据处理快的,大约相差一个数量级。但是自然界就是有这么一个矛盾:越好的东西会越贵,此处的内存和硬盘也一样,所以电脑的配置也得根据实际情况来。
上文也说了,相同的数据存储结构下内存中的数据处理是比硬盘内的数据处理快的,那就说是数据存储结构有不同的方式,不同的数据结构表现出来的查询、插入、删除、更新速度都是不一样的。主要的数据存储结构有如下四种:
1、顺序存储
顺序存储方式就是在一块连续的存储区域一个接着一个的存放数据。顺序存储方式把逻辑上相邻的节点存储在物理位置相邻的存储单元里,节点间的逻辑关系由存储单元的邻接关系来体现。顺序存储方式也称为顺序存储结构,一般采用数组或结构数组来描述。

2、链接存储
链接存储方式比较灵活,不要求逻辑上相邻的节点在物理位置上相邻,节点间的逻辑关系由附加的引用字段来表示。一个节点的引用字段往往指向下一个节点的存放位置。链接存储方式也成为链式存储结构。

3、索引存储
索引存储方式是采用附加的索引表的方式来存储节点信息的一种存储方式。索引表由若干索引项组成。索引存储方式中索引项的一般形式为(关键字、地址)。其中,关键字是能够唯一标识一个节点的数据项。索引存储方式还可以细分为稠密索引:这种方式中每个节点在索引表中都有一个索引项,其中索引项的地址知识节点所在的存储位置。稀疏索引:这种方式中一组节点在索引表中只对应一个索引项。其中,索引项的地址指示一组节点的起始存储位置。

4、散列存储
散列存储方式是根据节点的关键字直接计算出该节点的存储地址的一种存储方式。

在实际应用中,往往需要根据具体的数据结构来决定采用哪种存储方式。同一逻辑结构采用不同的存储方法,可以得到不同的存储结构。而且者4中基本存储方法,既可以单独使用,也可以组合起来对数据结构进行存储描述。当今我们所有的数据文件存储(数据库本身就是一种文件系统)或多或少都有如上四种数据存储结构的影子。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值