Доработка файлового менеджера

Доброго времени суток, коллеги, есть вопрос по модулю IFileManager

У нас возникла одна потребность, а именно:
Иногда делать сравнительную проверку, наличия файлов в таблице б/д b4_file_info и в файловой системе, по ID

но использование такого метода:
await fileManager.CheckFileAsync(file_Id);

И проверять большой массив ID в цикле, не очень хорошая идея.

Для одного файла он работает замечательно, но для массива ID-шек, в котором их ~ 800 000 штук, это не реально долго будет проверяться в цикле.

Отсюда вопрос, а реально IFileManager добавить метод, который принимал бы массив ID и возвращал бы другой массив ID из списка передаваемого, но содержащий ID не найденных в ФС файлов ?

Возможно есть возможность сделать такую проверку быстрой?

Ну или возможно, проще будет сделать метод который просто возвращает массив ID всех имеющихся файлов в хранилище ФС
А мы бы потом уже его сравнивали со своим списком - это было бы реальнее по времени, чем проверять в цикле по одному ID.

Что думаете ?

При использовании filesystemstorage все равно будет потеря производительности при обращении в диск и проверке 800 000 файлов. Возможно, проблему можно решить как то по другому? Например в фоне периодически опрашивать фс мелкими чанками ?