0

从现有数据构建索引树时,有一种批量加载算法,如

  1. https://en.wikipedia.org/wiki/B%2B_tree#Bulk-loading
  2. https://www.youtube.com/watch?v=HJgXVxsO5YU

为非空表创建索引时,SQLite 是使用批量加载还是通过插入创建索引?从我的性能测试来看,SQLite 似乎使用插入来创建索引,因为索引后插入表和插入后创建索引之间的时间成本相似。

我们知道为什么不使用批量加载吗?在实践中不是很好用吗?

4

1 回答 1

1

批量加载要求数据已经排序。

SQLite 通过将行插入到临时索引中来实现排序,因此将其用于批量加载不会有效率。

于 2018-02-14T17:48:03.837 回答