使用SQlite我将大型数据库拆分为多年: DB_2006_thru_2007.sq3 DB_2008_thru_2009.sq3 DB_current.sq3 它们都有一个表调用hist_tbl,有两列(键,数据)。
要求是: 1.能够一次访问所有数据。 2. insert仅转到当前版本。 3.随着时间的推移,数据将继续分裂。 4.通过具有独占访问权限的单个程序进行访问。 5.程序可以接受一些设置SQL,但在访问一个数据库或多个数据库时需要运行相同的程序。
要内聚地查看它们,我会执行以下操作(实际上是在程序中,但是此处显示的命令行): sqlite3 DB_current.sq3
将数据库'DB_2006_thru_2007.sq3'附加为hist1; 将数据库'DB_2008_thru_2009.sq3'附加为hist2; 创建临时视图hist_tbl为 从hist1.hist_tbl union中选择* select * from hist2.hist_tbl union select * from main.hist_tbl;
现在有一个temp.hist_tbl(view)和一个main.hist_tbl(表)。 当我选择没有限定表格时,我通过视图获得数据。 这是可取的,因为我可以根据我的设置使用我的固定sql查询对联接视图或单个数据库。另外,我总是可以插入main.hist_tbl。
问题1:缺点是什么? 问题2:有更好的方法吗?
提前致谢。
答案 0 :(得分:2)
您必须更新视图 EVERY 。的财政即可。年。
添加日期列,以便您可以搜索给定时间范围内的内容,例如会计年度。