我有一个ftp服务器,我每10分钟得到一个文件列表。ftp服务器通常有一百万个文件。文件列表必须唯一地插入到数据库中。所以我想先检查文件名是否存在于数据库中。我有两个解决方案:1-对于ftp服务器中的每个文件,连接到数据库并检查文件名是否存在(多个连接)2-首先获取数据库中的所有记录(一个连接)并存储在arraylist中,对于ftp服务器中的每个文件,检查arraylist中是否存在包含文件名。哪种解决方案更好?对于解决方案2,我关心内存使用。我使用jdbc驱动程序连接数据库。
7lrncoxx1#
在插入到数据库之前,可以确保文件名不存在。这样你就不需要把任何东西复制到 List 然后检查 List 它自己。比如:
List
INSERT INTO table (col1, col2, col3) VALUES (val1, val2, val3) WHERE NOT EXISTS ( SELECT * FROM table WHERE table.col1 = val1 and table.col2 = val2 and table.col3 = val3 )
1条答案
按热度按时间7lrncoxx1#
在插入到数据库之前,可以确保文件名不存在。这样你就不需要把任何东西复制到
List
然后检查List
它自己。比如: