DBMS 中使用的数据结构
Oracle、MySQL 等 DBMS 中使用的数据结构是什么? Sqlite 用于存储和检索记录。
What are the datastructure used in DBMS like Oracle,MySQL & Sqlite for storing and retrieving records.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
通常是 B-Trees 的巧妙实现
来自上面链接的维基百科文章:
其优点是可以在对数时间内访问数据,就像大多数搜索树(例如标准二叉树)一样,但在平均情况下时序属性更好。
Usually a clever implementation of B-Trees
From the above linked wikipedia article:
The advantages of which are that data can be accessed in logarithmic time, as with most search trees (such as standard binary trees), but the timing properties are better in the average case.
MySQL具有可插拔存储系统。 这意味着引擎可以使用不同的存储。
目前有 5-6 个可供您使用。 由于它是开源的,您可以看到它是如何完成的。
SQLite 使用它自己的带有日志功能的 B-Tree 实现。 开源——你可以看看。
Firebird 和 Interbase 使用带有多记录版本控制系统的 B 树进行存储。 火鸟是开源的。 值得一看。
无法辨别 Oracle、MS SQL Server 或其他专有数据库系统,因为它们对存储信息保密。
MySQL has pluggable storage systems. That means that engine can use different storages.
It currently has 5-6 of them that you can use. And since it's open source, you can see how it is done.
SQLite uses it's own B-Tree implementation with journaling. Open source - you can look at it.
Firebird and Interbase are using B-Trees with multi-record versioning systems for storage. Firebird is open source. Worth looking.
Can't tell for Oracle, MS SQL Server or other proprietary database systems, since they keep storage information secret.