SQLite中的影子表是什么?

时间:2016-12-17 02:55:17

标签: sqlite

在阅读SQLite中全文搜索FTS3 and FTS4扩展的文档时,我注意到使用术语"影子表"。引用:

  

对于数据库中的每个FTS虚拟表,创建三到五个真实(非虚拟)表来存储基础数据。这些真实的表被称为"影子表"。真实的表名为"%_ content","%_ segdir","%_ segments","%_ stat"," %_docsize",其中"%"被FTS虚拟表的名称替换。

那么SQLite中的影子表究竟是什么?它是如何创建和使用的?它与虚拟表或临时表有什么不同?

谷歌搜索" SQLite影子表"没有任何有意义的结果。

1 个答案:

答案 0 :(得分:1)

SQLite核心本身不实现虚拟表;对这些表的所有访问都被重定向到相应的虚拟表模块。 这意味着当虚拟表模块需要实际存储某些数据时,它必须在同一个数据库中创建其他表。

当您创建和使用虚拟表时,虚拟表模块会自动创建和使用影子表。

你不应该查看或访问影子表;它们是一个实现细节。当它们出现在您的数据库中时,不要惊讶。