Efficient Time to live for files

I have tp implement a system to do a archive operation on files that have more than 3 years on a 35TB disk, millions of files.

How can i implement a efficient way to list the files that have more that have more that 3 years ? Is there anything to index files metadata in Linux?

This could be done using

find /directory/path -type f -mtime 10000

but this is really really painfully slow!