我们有一个相当大的表,其中包含文档信息以及指向文件系统上文件的文件路径。几年后,我们注意到磁盘上的文件未在数据库表中引用,反之亦然。
因为目前我正在学习 Clojure,所以我认为制作一个可以找到 db 和文件系统之间差异的小实用程序会很好。自然,由于我是初学者,我被卡住了,因为有超过 600 000 个文档,显然我需要一些性能更高、内存消耗更少的解决方案:)
我的第一个想法是生成包含所有文件的扁平文件系统树列表,并将其与 db 中的列表进行比较,如果文件不存在放在单独的列表“不存在”中,并且如果某个文件存在于 HDD 而不是 DB 中,则移动它到一些转储目录。
有任何想法吗?