【问题标题】:How does SQLite scan a tableSQLite如何扫描表
【发布时间】:2018-02-14 16:59:35
【问题描述】:

如果查询一个表没有约束,我认为 SQLite 会对该表进行全扫描。在这种情况下它如何扫描一个表?

一张表至少有一个索引,可以是rowid、非int键或者一些组合键。 SQLite 是否需要遍历索引的 B+-tree 进行扫描?或者它可以跳转到 B 树的叶子,并且只遍历叶子而不经过那些中间节点?

【问题讨论】:

    标签: sqlite


    【解决方案1】:

    在数据库文件中,B-tree pages 没有指向兄弟页面的指针(并且内部内存结构以相同的方式组织),因此必须通过父页面进行扫描。实际上,这不是问题,因为内页更有可能被缓存。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-18
      • 1970-01-01
      • 1970-01-01
      • 2021-05-25
      • 1970-01-01
      • 2015-11-23
      相关资源
      最近更新 更多