Presume a large database exists ~100,000 documents. This database has a series of agents that run consecutively. Each agent removes and adds different fields from varying amounts of documents and then saves each document once it is updated. The database is not full text indexed. There are many views with sortable columns though. As each save occurs, Notes trys to update it’s index. The agents run between midnight and 6am each day.
Is there a way to disable indexing during those hours so as to reduce the beating these agents are giving the database? Is there a better way to reduce indexing overhead?
Interestingly, a scheduled agent updating a document will not trigger indexing. But if the agents get a handle to any views, those views will want to be up to date, and if replication occurs, or new mail events, etc. then those will cause the indexer to fire up.
If you haven’t done any logging to troubleshoot exactly what impact the indexer is having, it might be worth starting with log_update=2 for a day or two to see exactly what is happening during those agent hours. Note that you’ll get a decent amount of output so you’ll want to dump it into a spreadsheet possibly.
The agents have LotusScript code that perform a set view=db.getview(“ViewNameHere”) and step through those documents. Would this perhaps cause the indexer to fire?
Yes that would, and (as per another response) you should set view.AutoUpdate = False if at all possible. It will radically improve your processing time by knocking out a lot of those view updates while the agent runs.
However, this won’t be relevant for what happens when the agent has finished executing. For that troubleshooting, I refer to my ealier response.