这是我的问题。
我想摄取大量数据....现在有数百万行,后来有数十亿行。
我一直在使用 MySQL,现在我正在使用 PostgreSQL。
插入很容易,但在我插入之前,我想检查该特定记录是否存在,如果存在我不想插入。随着数据库的增长,这个操作(显然)需要越来越长的时间。
如果我的数据在 Hashmap 中,查找将是 o(1),所以我想我会创建一个 Hash 索引来帮助查找。但后来我意识到,如果我每次都必须再次计算哈希,我会大大减慢这个过程(如果我不计算索引,我就没有 o(1) 查找)。
所以我很困惑,有没有简单的解决方案?还是复杂的?我很高兴尝试其他数据存储,但是我需要能够执行相当复杂的查询,例如类似于带有 WHERE 子句的 SELECT 语句的查询,所以我不确定 no-sql 解决方案是否适用。
我是一个新手,所以如果有一个简单的解决方案,我不会感到惊讶。