我将xml文件值导入db,并检查行是否已经存在,这需要花费大量时间,因为表中有大约1000万行。导入一个文件大约需要90秒,空数据库4秒。我正在用laravel eloquent exists()方法检查行是否存在。我想减少这个时间尽可能多,如果我导入10k文件,它需要几天。我想在redis缓存中保存插入的行,并检查缓存中是否存在行,但如果由于某种原因缓存被清除,我不想在数据库中复制。有什么比redis更好的吗?
ykejflvf1#
您应该使用exist-check来使用dbms和redis-like
for row in file do if row not in redis then if row not in RDMS then insert_row_in_RDBMS insert_row_in_redis else insert_row_in_redis end end end
使用它可以减少查询时间,不过这只在文件中有许多重复行时才有帮助。
1条答案
按热度按时间ykejflvf1#
您应该使用exist-check来使用dbms和redis-like
使用它可以减少查询时间,不过这只在文件中有许多重复行时才有帮助。