Rudo,
That is what option 1 does but you are working with millions of records so the time it takes to process unique values... It is what it is.
Do you really need those millions of records? Why not provide a definition query that will limit the data to the last several months or something?