连接表:一个是普通表,另一个是 FTS 虚拟表
Posted
技术标签:
【中文标题】连接表:一个是普通表,另一个是 FTS 虚拟表【英文标题】:joining tables : one a normal one and the other FTS virtual table 【发布时间】:2012-10-15 06:09:11 【问题描述】:将普通表与 FTS 表连接是个好主意吗?我想知道它是否会影响 FTS 表的原始性能,还是不会?当然,查询肯定会使用 MATCH 子句。
【问题讨论】:
【参考方案1】:当你连接两个表 A
和 B
时,SQLite 要么在表 A
中查找匹配记录,要么从表 B
中查找匹配记录。 987654327@.
如果表A
或B
上有一个索引可以使这些查找快速,则连接速度很快。如果两个表上都有索引,SQLite 会选择它估计效率更高的那个。
所以,回答您的问题:如果您选择与 FTS 表进行联接,则可以执行此操作
使用MATCH
将字段连接到FTS 字段或FTS 表的rowid
,或
将 FTS 字段连接到在另一个表中索引的某个字段。
要检查这一点,请使用EXPLAIN QUERY PLAN
。
【讨论】:
以上是关于连接表:一个是普通表,另一个是 FTS 虚拟表的主要内容,如果未能解决你的问题,请参考以下文章
如何最好地将多个文本文件导入 SQLite FTS 虚拟表?