Hot Topic (More than 10 Replies) Field indexing (Read 1814 times)
Gruff
Member
*
Offline



Posts: 3
Joined: Nov 18th, 2009
Field indexing
Nov 26th, 2014 at 4:46pm
Print Post Print Post  
I have been using Sesame for a number of years now, first as a way of up-dating old Q&A databases and then to create many production and quality recording data. I have finaly got around to the last Q&A one that was programed about 20 years ago!

Our problem is that it is a serial numbering and repair database that has about 520,000 serial numbers in that the repair database looks up for origional information using the serial number as the shared key. This can take between 7 and 12 seconds which used to be instant in Q&A due to it's "Speedy" fields.

We are running the Sesame server on a HP Windows 2012 instance with 4 Gig of RAM and 2 CPUs, which does not seem to break a sweat during the XLookup process, 4% load at best. The Network is all Gigabite speeds.

I will increase the server to 8 Gig and 4 CPUs over the weekend to see if there is any improvement.

Looking through the Sesame manual it says it does not have the Q&A speedy fields because "In Sesame, fields are indexed as needed without user intervention."

Is there a way of forcing this or does anyone know anything about this process so that I can capitalise on it?

Am I just using too many records in one Data-bases?

Any views or advice would be helpful.

Thanks in advance  Undecided
  
Back to top
 
IP Logged
 
The Cow
YaBB Administrator
*****
Offline



Posts: 2530
Joined: Nov 22nd, 2002
Re: Field indexing
Reply #1 - Nov 26th, 2014 at 9:06pm
Print Post Print Post  
Do you have "SERVER PREINDEX XLOOKUPS" turned on in your server's sesame.ini file?

If not, do so. The first xlookup may take a short while while it indexes, but all of the rest should be quite a bit faster.
  

Mark Lasersohn&&Programmer&&Lantica Software, LLC
Back to top
IP Logged
 
Gruff
Member
*
Offline



Posts: 3
Joined: Nov 18th, 2009
Re: Field indexing
Reply #2 - Dec 2nd, 2014 at 8:21am
Print Post Print Post  
Thankyou!

That was just what I was looking for. Back to instant lookups.  Smiley
  
Back to top
 
IP Logged
 
The Cow
YaBB Administrator
*****
Offline



Posts: 2530
Joined: Nov 22nd, 2002
Re: Field indexing
Reply #3 - Dec 2nd, 2014 at 2:06pm
Print Post Print Post  
You're welcome. Enjoy.
  

Mark Lasersohn&&Programmer&&Lantica Software, LLC
Back to top
IP Logged
 
Carl Underwood
Senior Member
Members
*****
Offline



Posts: 1350
Location: New Hampshire
Joined: Mar 11th, 2003
Re: Field indexing
Reply #4 - Jan 20th, 2015 at 7:46pm
Print Post Print Post  
The Cow wrote on Nov 26th, 2014 at 9:06pm:
Do you have "SERVER PREINDEX XLOOKUPS" turned on in your server's sesame.ini file?

If not, do so. The first xlookup may take a short while while it indexes, but all of the rest should be quite a bit faster.


Does this help with @XListValues? I'm not seeing any difference with it ON or OFF.
  


Carl Underwood
CDU Computer Consulting LLC
Epsom, New Hampshire
Back to top
IP Logged
 
The Cow
YaBB Administrator
*****
Offline



Posts: 2530
Joined: Nov 22nd, 2002
Re: Field indexing
Reply #5 - Jan 20th, 2015 at 10:37pm
Print Post Print Post  
XListValues gets all of the values, so an index has no role.
  

Mark Lasersohn&&Programmer&&Lantica Software, LLC
Back to top
IP Logged
 
Carl Underwood
Senior Member
Members
*****
Offline



Posts: 1350
Location: New Hampshire
Joined: Mar 11th, 2003
Re: Field indexing
Reply #6 - Jan 21st, 2015 at 7:33am
Print Post Print Post  
Duh! Sorry about that. I didn't think it through very well, did I?
  


Carl Underwood
CDU Computer Consulting LLC
Epsom, New Hampshire
Back to top
IP Logged
 
The Cow
YaBB Administrator
*****
Offline



Posts: 2530
Joined: Nov 22nd, 2002
Re: Field indexing
Reply #7 - Jan 21st, 2015 at 1:23pm
Print Post Print Post  
No problem.

I take it that you have an XListValues call that is taking a while? How many values is it returning? Total size?
  

Mark Lasersohn&&Programmer&&Lantica Software, LLC
Back to top
IP Logged
 
Carl Underwood
Senior Member
Members
*****
Offline



Posts: 1350
Location: New Hampshire
Joined: Mar 11th, 2003
Re: Field indexing
Reply #8 - Jan 21st, 2015 at 8:06pm
Print Post Print Post  
Currently 13,094 records. The db file is 13.1 MB, and the dat file is 178 MB.

It takes about 8 seconds on my i7 computer, but it takes 13 to 18 seconds on the client's computers.

Someone in-house set up a combo box that populates with all the entries each time they open the retrieve spec. I may implement a different method where I filter the list down based on some input by the user, rather than fill it with every single entry in the entire database.
  


Carl Underwood
CDU Computer Consulting LLC
Epsom, New Hampshire
Back to top
IP Logged
 
Ray the Reaper
Global Moderator
Members
Lantica Support
*****
Offline


The One & The Only

Posts: 2480
Joined: Aug 20th, 2003
Re: Field indexing
Reply #9 - Jan 21st, 2015 at 8:31pm
Print Post Print Post  
Could also store the list in a GlobalValue() and update on Application Open and have a button on the Main Menu that would force an update to the GlobalValue().

-Ray
  

Raymond Yoxall Consulting
ray.yoxall@gmail.com
ryoxall@lantica.com
Sesame Applications, Design and Support
Back to top
IP Logged
 
The Cow
YaBB Administrator
*****
Offline



Posts: 2530
Joined: Nov 22nd, 2002
Re: Field indexing
Reply #10 - Jan 21st, 2015 at 11:13pm
Print Post Print Post  
I suppose the question comes down to, is the slowdown in retrieving 13,000 values and sending them across a network, or in trying to place and manage 13,000 in a combo box, or both.

Have you timed the retrieve separately from the populating of the combo box?

You might be interested to know that Sesame3 has a "table of contents" window that runs off of the sort spec, that might be awfully useful in similar circumstance - basically a way to retrieve and navigate that does not rely on the user knowing the data in advance.
  

Mark Lasersohn&&Programmer&&Lantica Software, LLC
Back to top
IP Logged
 
Carl Underwood
Senior Member
Members
*****
Offline



Posts: 1350
Location: New Hampshire
Joined: Mar 11th, 2003
Re: Field indexing
Reply #11 - Jan 22nd, 2015 at 7:49am
Print Post Print Post  
I ended up doing away with the combo box and using a command button where the user is asked to select the first character from A-Z (list also includes 0-9), then the lookup is filtered down enough that it is only about 1-2 seconds before the @PopupChoiceList window appears which contains the list of names.

The workstations actually performed faster than the server, so it was not an issue of moving the data through the network.

I did time each step individually. Populating a combo box is almost instantaneous. The delay was about 80% for the lookup, and about 20% for the sort.

The "table of contents" window for Sesame3 sounds like a great feature. (That must be in one of the newer builds?)
  


Carl Underwood
CDU Computer Consulting LLC
Epsom, New Hampshire
Back to top
IP Logged