Data structures 关系数据库系统中使用的数据结构
RDBMS中使用什么数据结构来存储我们输入的实际数据,firstname lastname等等,我知道B和B+树在索引等方面很有效,但我还没有得到令人信服的答案,请原谅我的无知。这通常取决于存储引擎,原始数据将存储在不同分类的数据库数据中,其中至少有三个常见部分:Data structures 关系数据库系统中使用的数据结构,data-structures,rdbms,Data Structures,Rdbms,RDBMS中使用什么数据结构来存储我们输入的实际数据,firstname lastname等等,我知道B和B+树在索引等方面很有效,但我还没有得到令人信服的答案,请原谅我的无知。这通常取决于存储引擎,原始数据将存储在不同分类的数据库数据中,其中至少有三个常见部分: 索引(指向包含该值的行的键) 行数据(非blob数据) Blob数据(通常是批量数据;将其视为扩展数据,通常不搜索,而是通过其他键查找行后批量检索) 我在这里提供的大部分信息都是基于MySQL的知识 索引 例如MySQL,包括:
- 索引(指向包含该值的行的键)
- 行数据(非blob数据)
- Blob数据(通常是批量数据;将其视为扩展数据,通常不搜索,而是通过其他键查找行后批量检索)
将blob数据想象成一个大文件系统,它没有特殊的索引属性,只能通过主键查找其行。它们还失去了每行分配的固定空间的好处,这是一种能够存储大量任意数据的折衷办法。不清楚您在这里要问什么。你是在问为什么要使用B-树(等等)吗?我很抱歉说得模棱两可,让我举个例子问一下,如果我在数据库中有ID、Name、Address等列,那么实现了什么样的数据结构?B树?如果是,怎么做?在programminsg中,如果我有一个像int c[2]={0,1,2}这样的语句,我只需将它们线性地存储在3个连续的块中。谢谢:)这回答了我所有的问题,甚至是在我理解了最初问题的答案后得到的问题。主键并不总是被索引。可以有一个不带索引的主键和另一个带聚集索引的列。您只能有一个表聚集索引,因为这是磁盘上包含表数据的一个存储。您有多个非集群数据,因为它们不是与表数据一起构建和存储的,通常仅位于内存中,具体取决于数据库引擎