这链接到以下有关优化下面查询的主题。
我有一个包含44个字段的父TABLE,目前大约有20000个条目,大约25Mb。我正在从具有相同字段/字段名称的单独TABLE中对此表执行增量更新/插入。
INSERT OR REPLACE INTO Parent (F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,F11,F12,F13,F14,F15,F16,F17,F18,F19,F20,F21,F22,F23,F24,F25,F26,F27,F28,F29,F30,F31,F32,F33,F34,F35,F36,F37,F38,F39,F40,F41,F42,F43,F44) SELECT NULL,u.F2,u.F3,u.F4,u.F5,u.F6,u.F7,u.F8,u.F9,u.F10,u.F11,u.F12,u.F13,u.F14,u.F15,u.F16,u.F17,u.F18,u.F19,u.F20,u.F21,u.F22,u.F23,u.F24,u.F25,u.F26,u.F27,u.F28,u.F29,u.F30,u.F31,u.F32,u.F33,u.F34,u.F35,u.F36,u.F37,u.F38,u.F39,u.F40,u.F41,u.F42,u.F43,u.F44 FROM ParentTemp u LEFT JOIN Parent c ON (u.F2 = c.F2);
F1
是一个自动递增ID字段,因此为NULL
选择INSERT
。 F2
是唯一标识符 - 但是是TEXT字段。 ParentTemp
表定期填充最多10000条记录 - 然后将这些记录与Parent
文本字段F2
上的现有记录进行交叉引用。
我最近误导了两次相同的数据集 - 我发现记录在F2
字段上重复了。在ON CONFLICT
上创建的表没有F2
(无论如何都不是主键)。
任何想法为什么重复记录/如何避免? TIA