I've not hit the magic billion but I have done 100's millions.
I used to take the production server down for a morning when I did it.
My approach was as follows
I'm a bit rusty on the process because it is something that I did in my last job, over 4 years ago but I seem to remember I had to expand TEMPDB for the reindexing part of the process. Again, you don't want autoresizing to take place whilst the job takes place.
I also had to kick everyone off the database server when I did the process.
The choice was stay off the server and have everything back by lunchtime, or stay on the server and this urgent data might be ready next week.