DBMS中使用的数据结构有哪些,如Oracle,MySQL和;用于存储和检索记录的Sqlite。
答案 0 :(得分:6)
通常是B-Trees
的巧妙实现来自上面链接的维基百科文章:
m阶的B树(每个节点的最大子节点数)是满足以下属性的树:
- 每个节点最多只有几个孩子。
- 每个节点(根和叶子除外)至少有m/2个孩子。
- 如果根不是叶节点,则根至少有两个子节点。
- 所有树叶都出现在同一级别,并带有信息。
- 具有k个子项的非叶子节点包含k-1个密钥
醇>
其优点是可以在对数时间访问数据,就像大多数搜索树(例如标准二叉树)一样,但在一般情况下,时序属性更好。
答案 1 :(得分:4)
MySQL 具有可插拔存储系统。这意味着引擎可以使用不同的存储。 它目前有5-6个你可以使用。而且由于它是开源的,你可以看到它是如何完成的。
SQLite 使用它自己的B-Tree实现和日记功能。开源 - 您可以查看它。
Firebird 和 Interbase 正在使用带有多记录版本控制系统的B-Tree进行存储。 Firebird是开源的。值得一看。
无法判断 Oracle , MS SQL Server 或其他专有数据库系统,因为它们会保密存储信息。