>Hi,
>
>Can anyone explain me some strange behaviour using Visual Foxpro 7?
>The problem is that i have an application that has several relations
>on a material file and that the file is about 20 mb.
>
>Sometimes when i use the folowing line in code the application
>is consuming all 20 mb from the fileserver to the workstation:
>
>i_ordernr = 1002
>select ordregl
>locate for year(orders.dOrddate)=year(date()) and orders.iordernr = i_ordernr
>
>if found()
> -----
>endif
>
>When i do the following code the network traffic is 50 kilobytes!!! :
>
>i_ordernr = 1002
>select ordregl
>select iordernr from orders into cursor dummy where year(orders.dOrddate)= year(date()) and orders.iordernr = i_ordernr
>
>if _tally > 0
> -----
>endif
>
>
>How can this be?
>dOrddate,iordernr are indexed into a .cdx file
See SYS(3054) Rushmore Optimization Level in Help. You will need to create the following index:
INDEX ON YEAR(dOrdDate) TAG Anything
for your query to be optimized. This should also result in less network traffic. The CDX is used to determine which records need to be retrieved instead of VFP having to pull the records themselves over the network.
censored.