我正在使用 sql 查询进行一些调试,执行以下操作以创建虚拟表:
sqlite> CREATE VIRTUAL TABLE email_fts USING fts3(subject, body, "to", "from");
& 检查架构,其中显示了对创建的虚拟表的附加 3 个表引用。
sqlite> .schema
CREATE VIRTUAL TABLE email_fts USING fts3(subject, body, "to", "from");
CREATE TABLE 'email_fts_content'(docid INTEGER PRIMARY KEY, 'c0subject', 'c1body', 'c2to', 'c3from');
CREATE TABLE 'email_fts_segments'(blockid INTEGER PRIMARY KEY, block BLOB);
CREATE TABLE 'email_fts_segdir'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));
任何人请解释:
- fit_content/segments/segdir 的用途是什么,
- 谁使用这些。
- 使用目的肯定与搜索有关,但它们如何相互关联。