В Unix есть такие команды, как find
и locate
. Гораздо быстрее найти файл, используя базу данных locate
. Я думаю, что Windows Search также основан на базе данных, поэтому будет трудно победить.
Что касается базы данных, я бы использовал JavaDB или встроенную БД, такую как SQLite. MySQL был куплен Oracle, и, по моему личному мнению, есть лучшие альтернативы с открытым кодом, такие как PostgreSQL.
Я думаю, что эта задача довольно проста с точки зрения SQL. Для меня самой сложной частью была бы синхронизация базы данных после изменений в файловой системе.