C# 更新大型SQLite数据库
我有两个C# 更新大型SQLite数据库,c#,sql,sqlite,C#,Sql,Sqlite,我有两个SQLite表,它们非常庞大(数百万行,其中包含几何图形)。第一个是不更改(记录不更新等)。第二个更新(可以更新/删除旧记录,也可以添加新记录) 有时我需要使用第二个表更新第一个表。由于数据量太大,我必须检测第二个表中所做的更改,并将它们应用到第一个表中。我也不能在RAM中这样做,因为表格包含几何图形,它们可能非常重 实现这一点的可能方法是什么?简单解决方案:删除第一个表,然后使用如下表达式 drop table table1; create table table1 as select
SQLite
表,它们非常庞大(数百万行,其中包含几何图形)。第一个是不更改(记录不更新等)。第二个更新(可以更新/删除旧记录,也可以添加新记录)
有时我需要使用第二个表更新第一个表。由于数据量太大,我必须检测第二个表中所做的更改,并将它们应用到第一个表中。我也不能在RAM中这样做,因为表格包含几何图形,它们可能非常重
实现这一点的可能方法是什么?简单解决方案:删除第一个表,然后使用如下表达式
drop table table1;
create table table1 as select * from table2;
更复杂的解决方案:使用一对移动的“游标”——不是Oracle中的数据库游标,而是一些包含表PK值的变量。
将两个游标都设置为两个表中的最低ID。然后,只需遵循简单的规则: