filePro speed, and indexes (GRX)

Chris Sellitto sellich at guaranteedreturns.com
Thu Mar 29 11:44:49 PDT 2007


[....]
> > Subject: filePro speed, and indexes (GRX)
> >
> >
> > Hello All,
> >
> > filePro 5.0.14DN9
> > Windows 2003 server
> > Windows XP workstations
> >
> > I will try to make this brief.  I don't remember if this 
> has ever been 
> > discussed.  Hopefully if someone sees it, and never knew 
> about it, it 
> > will help them as it did me.  We recently had a situation 
> where I was 
> > making changes to an existing process that has been in use for the 
> > last
> > 9 years with no problems.  Part of my new code called for 
> creating a 
> > new index on one of the files this process accessed.  The index was 
> > created on an already existing field that had not been 
> populated (it 
> > became
> > obsolete) in a very long time.  There are just over 700,000 
> records in 
> > this file.  The process will add a new record to this file, at ESC 
> > processing.  The problem that arose, was that it took a 
> very long time 
> > to complete a transaction, so that the user could continue 
> and enter 
> > their next record.  Normally, on average, it took about 2 
> seconds to 
> > complete, and now it was taking about 15 seconds or more.
> >
> > The Solution:
> > My colleague remembered hearing something about having a 
> field in an 
> > index that had a lot of blanks as being a possible cause 
> for slowness.
> > Remember, we had not populated that field in a long time, so of the 
> > 700,000 some odd records over 600,000 had that field blank.  We 
> > decided to populate the field (10, allup), from the current 
> date back, 
> > with dummy data ("X"{@RN) just to put something in the field (it is 
> > obviously now being populated with real data).  After 
> completing this 
> > task, the speed of the process went back to normal.  
> Anyway, that is 
> > it in a nutshell.  Most of you probably already knew this, 
> but those 
> > of you who did not, maybe it will help.
> >
> > Thanks for letting me ramble.
> >
> > Christopher Sellitto
> > VP Computer Operations
> > Guaranteed Returns
> 
> 
> No, what is known... at least by me, is that indexes with 
> large numbers of blanks and then just few "filled" fields 
> used to be a cause for concern over Deleted Key Not Found 
> errors. Most of this, actually I believe ALL, of this has 
> been fixed, but what you are describing could be a hangover 
> or even an original part of the indexing routine. 
> Incidentally, the DKNF problems with large files and large 
> numbers of blanks were more apparent with 1 character 
> indexes. Say for example you had a status field that was 
> normally blank, but on a certain few records it was changed 
> to a "U" representing (U)nused or something like that.  The 
> original problems had to do with trying to handle the massive 
> amounts of "duplicate" records in a more efficient manner 
> than what would just be the *easy* way. :-)  Anyway, to 
> maintain the superfast speed of filePro indexes when working 
> with lots of duplicates (in your case
> BLANKS) this process needed lots of attention.  What I'm 
> suggesting is now that all those problems are fixed, perhaps, 
> this slowness thing is a hangover result and maybe FP Tech 
> can do some more profiling to put the speed back to normal 
> when this situation occurs... which I can tell you happens 
> quite a bit. Even, with non-blank fields like 500,000 records 
> all with a "C"losed status and just a few new ones with 
> "O"pen status, or lots of other scenarios.
> 
> I can tell you that I have not seen the slowness you describe 
> (and by the way, I like your work-around... it's obvious, but 
> I don't know if I would have thought of it), but even so, you 
> should submit this situation to FP Tech... and if possible 
> provide that exact file before you fixed it with the filler dates.
> 
> John Esak
> 
> P.S. You mention the field is 10,allup but you are filling it 
> with a date.
> This certainly changes the indexing aspect of things and FP 
> Tech will know more about that when they investigate this 
> problem, but why just out of curiosity, aren't you using a 
> 10,mdyy/ type edit? I think this would change the situation a 
> lot, but I'm not sure if it would alter the slowness thing.
> 
> 
> _______________________________________________
> Filepro-list mailing list
> Filepro-list at lists.celestial.com
> http://mailman.celestial.com/mailman/listinfo/filepro-list
> 

Thanks for the input John.  As far as the filling in of the field, I
actually did not use a date but an X and the record number concatenated
("X"{@RN) together.  The field was an already existing field of
10,allup, so rather than make a change to the database structure, we
just left it.  The actual information that we are putting in it now, is
just a sequential number.

Again, thanks for your advice.

Christopher Sellitto
VP Computer Operations
Guaranteed Returns


More information about the Filepro-list mailing list