Update Index (OpenInsight 32-bit Specific)
At 04 SEP 2002 11:39:15AM Richard Hunt wrote:
Need some info on indexing.
Got a table (file) called "CM" (customer master). It is "cross reference" indexed. Got a program that will allow user to add new customers. Got a program that will allow users to inquire on customers using any word or word pairs in the customer name (using the cross reference index). The index works fine.
Here is my question or problem… When a user adds a new customer, and then like 10 seconds later (or even 10 minutes later) tries to inquire on that customer using the index, nothing is found.
When I use the "UPDATE_INDEX" subroutine then it works.
So, isn't there a way to automatically have the index updated? Or do I have to run the "UPDATE_INDEX" subroutine always before the "EXTRACT_SI_KEYS" subroutine?
Are there some flags somewhere so that the index can be updated immediately right after the data is updated?
At 04 SEP 2002 01:39PM Don Miller - C3 Inc. wrote:
This has been a chronic issue with XREF's since the dawn of time .. or at least with background indexing. What I do is to is:
1. Force a flush of pending XREF's upon exit of the form. This will handle reports, etc.
2. Do a flush ahead of an XREF lookup if done in the form where new items may be added.
3. I also have a hidden menu option that allows a flush from inside the form (ALT+X for Xref Rebuild). This is documented in the Help tab.
HTH
Don Miller
At 04 SEP 2002 01:54PM Richard Hunt wrote:
Thanks Don.
Currently I am updating (flushing) right before an index usage, kinda like you.
I think I might add an idle event that will update indexes too. Its just that there seems to be a big delay like 10 seconds on large indexes even though there is no updates pending. Kinda odd.
At 04 SEP 2002 02:44PM [url=http://www.sprezzatura.com" onMouseOver=window.status= Click here to visit our web site?';return(true)]The Sprezzatura Group[/url] wrote:
Why do you think there are no updates pending? The lack of info in row 0 does not preclude the existence of info in say SURNAME_XREF*0.
World Leaders in all things RevSoft
At 04 SEP 2002 05:58PM Richard Hunt wrote:
The reason I think there are no updates pending is because I am in my development copy and I am the only one using it. So, I do the "UPDATE_INDEX" subroutine then the very next line in the code is the "EXTRACT_SI_KEYS" subroutine. The next time I try it with perfectly identical request information the update delay is still over 10 seconds.
Also I have done the update index within the database manager and still have the 10 second "UPDATE_INDEX" delay.
At 05 SEP 2002 01:30AM [url=http://www.sprezzatura.com]The Sprezzatura Group[/url] wrote:
We've seen this behaviour when we had a very large OV file. Essentially the system needed to select for transaction rows and ended up scanning OV files a lot. The sizelock was set to prevent the file resizing. A long shot but…
World Leaders in all things RevSoft
At 05 SEP 2002 10:48AM Richard Hunt wrote:
Ahhhh and this is a large file. Approximately the 5th largest.
Isn't there a way to cause the index update to happen right after the write to the file? Its just not happening. I have to manually cause the update by calling the "UPDATE_INDEX" subroutine.
At 05 SEP 2002 11:44AM [url=http://www.sprezzatura.com" onMouseOver=window.status= Click here to visit our web site?';return(true)]The Sprezzatura Group[/url] wrote:
Well the "easy" way would be an MFS that called an index flush after a successful write - assuming the index transactions have been written by then… fancy playing
?
World Leaders in all things RevSoft