【问题标题】:How do databases "update" records?数据库如何“更新”记录?
【发布时间】:2019-07-12 16:27:50
【问题描述】:

据我所知,实际上不可能“更新”文件的单个部分。必须覆盖整个事物或简单地追加。然而,数据库通常具有更新功能。如何设计一个数据库不追加 - 因为这会导致墓碑 - 而是更新?

【问题讨论】:

  • 当然可以覆盖文件的一部分。
  • 数据库确实会像您所说的那样创建墓碑,但它们也包含各种代码以尽可能重用空间,或者收集空白空间并重新组织页面等。数据库的日常操作。请记住,它不是一个大文件,它将是可以根据需要重新组织的桶的集合。是的,经常分配空白空间。过程的所有部分。

标签: database database-design


【解决方案1】:

文件可以被覆盖,这可能是一个乏味的过程。在开始写入该文件之前,您必须知道要更新的任何内容的起始索引,并将文件指针设置为文件中的该索引。

数据库更容易更新,因为它们是许多数据结构(链表、树、堆等)的组合,这些数据结构都包含特定数据并且可以迭代。对于这些数据结构,您只需要知道需要更新结构中的哪个节点并导航到它并覆盖数据。

【讨论】:

    猜你喜欢
    • 2016-01-15
    • 1970-01-01
    • 1970-01-01
    • 2018-06-08
    • 1970-01-01
    • 1970-01-01
    • 2010-10-08
    • 2011-08-13
    • 1970-01-01
    相关资源
    最近更新 更多