Hi!
Craig, INDEXSEEK does move the pointer, it have a flag in second parameter. If it is .T., record pointer moved after record found.
I think the difference in the logic of these commands. In help for INDEXSEEK I read following:
Because the record pointer isn't moved, rules and triggers aren't executedThis might be a significant difference, if above statement makes sense at all.
>>From what I have read I was under the impression that there wouldn't be any performance increase using INDEXSEEK() over SEEK(). I have a looping counting and totaling procedure where all I did was change a SEEK() to INDEXSEEK() with the move record pointer parameter set to .T., the time the procedure took with the SEEK() was 363 seconds, after changing to INDEXSEEK() the procedure takes 8 seconds. This occurs no matter if I reboot after each run or not, so caching isn't an issue.
>
>
>I'm actually not surprised as INDEXSEEK() does not move the record pointer.
Vlad Grynchyshyn, Project Manager, MCP
vgryn@yahoo.comICQ #10709245
The professional level of programmer could be determined by level of stupidity of his/her bugs
It is not appropriate to say that question is "foolish". There could be only foolish answers. Everybody passed period of time when knows nothing about something.