我需要向ESE数据库添加几百万条数据记录。在其他值中,每个记录都有唯一的字符串值。该值可以被认为是一个关键。
对记录感兴趣的是输入集中可能存在多个相同记录的相同实例。输入后,我只想要一条带有每个唯一字符串的记录。
我的问题是如何做到这一点 - 如何快速筛选出重复项?
现在我只在搜索密钥后添加每条记录,如果条目已存在,我跳过它。如果它不在数据库中,我添加记录和进度。这里的巨大成本是在每个条目上进行搜索。
任何关于快速制作这个的想法?无论如何要键入值,以便添加副本会失败?
答案 0 :(得分:1)
您可以通过将JET_bitIndexUnique传递给JetCreateIndex来在字符串列上创建唯一索引:
JetCreateIndex(sesid, tableid, "myindex", JET_bitIndexUnique, "+string_col\0", 13, 100));
使用JET_errKeyDuplicate插入重复值失败。
如果您的字符串很短,这种方法最好。如果你的字符串很长,你应该使用字符串的散列来测试唯一性。
答案 1 :(得分:-2)
**
DTS.
BULK INSERT.
SSIS.
Choose as you wish
**