What I do with a similarly sized database is run a program document to update the view indexes. This program document is scheduled to run after the agent runs and manipulates the records. Program documents are created and managed in the Directory Configuration > Servers > Programs.
Program name: Updall
Command line: folder\database.nsf -V
Server to run on: Servername/Domain
Schedule this to run at a time when you know the record updates will be complete.
I think it is also possible to issue an updall command from within LotusScript, but I have never tried it.
I think it’s a waste of resources writing a LotusScript agent to do what updall already does. Please remember that LotusScript agents have to Compile at runtime… use Updall.
Also, I find it hard to believe deleting and creating is more efficient or even faster. I’d recheck your code, maybe it can be improved? And also, if you are constantly deleting from a database, you will need to Compact it more often than normal, and risk corruption easier as well.