SQLite 作者目前实现了一个 Union Virtual Table,但我不明白使用它比简单的:
CREATE VIEW foo AS SELECT * FROM A.foo UNION ALL SELECT * FROM B.foo
有什么好处?后者不会保留这些表上的索引查询并且还允许通过触发器添加写入功能吗?
SQLite Union Virtual 表上的 doc 说:
union-vtab 中各个表的 rowid 范围不得重叠。
我只是在这里猜测,但也许这个约束允许虚拟表进行一些视图没有的巧妙优化,因为视图无法做出相同的假设。