Improving Indexing

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?

Subject: Improving Indexing

David,

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.

good luck,

raphael

Subject: RE: Improving Indexing

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?

Subject: RE: Improving Indexing

That code would not do it but this would:

Call View.Refresh

which is a common thing to do from script prior to processing documents, that way, you know you have them all.

Have you verified the indexer is causing performance problems on the server? If so, how?

Subject: RE: Improving Indexing

You’re not calling view.refresh inside you’re loop are you?

Subject: RE: Improving Indexing

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.

regards,

raphael

Subject: Improving Indexing

You should probably turn the autoupdate property of the view off while your processing your code.