sqlite3虚拟表生存期

sqlite3虚拟表生存期,sqlite,Sqlite,有人能告诉我在sqlite3中创建的虚拟表的生命周期吗。我有一个带有搜索功能的android应用程序,我想使用sqlite的快速文本搜索功能 我不知道这些表在系统中停留了多长时间,也不知道每次访问应用程序时是否需要创建这些表 是否有帮助?根据,虚拟表定义与任何其他表一样存储在架构表中。虚拟表的任何索引也存储在DB文件中 我认为这一切意味着一个虚拟表存储在DB文件中,因此是持久的。您不应该每次打开DB连接时都重新创建它-无论如何,这样做没有多大意义 使用sqlite3 CLI工具和FTS3表进行的

有人能告诉我在sqlite3中创建的虚拟表的生命周期吗。我有一个带有搜索功能的android应用程序,我想使用sqlite的快速文本搜索功能

我不知道这些表在系统中停留了多长时间,也不知道每次访问应用程序时是否需要创建这些表

是否有帮助?

根据,虚拟表定义与任何其他表一样存储在架构表中。虚拟表的任何索引也存储在DB文件中

我认为这一切意味着一个虚拟表存储在DB文件中,因此是持久的。您不应该每次打开DB连接时都重新创建它-无论如何,这样做没有多大意义

使用sqlite3 CLI工具和FTS3表进行的简单测试证实了这一点:-)

SQLite为您定义的每个虚拟表创建几个“内部”表。这些表在数据库模式中清晰可见,因此FTS虚拟表及其底层数据完全包含在数据库文件中

这可能与其他类型的虚拟表不同;e、 g.扩展名允许ESRI shapefile(.shp)文件作为表格读取;它们(自然地)与SQLite数据库文件分开存储

在任何情况下,任何虚拟表本身的定义都存储在数据库文件中,就像普通表一样;因此,你的问题的答案是:

不,没有必要在每次打开数据库时重新创建它们