>I have used the coverage profiler and found that the slowest line of code is when this view is requeried.
>
>
>SELECT Ordprod.orderid, Ordsize.orderprodid,;
> SUM(Ordsize.ordered) AS totordered,;
> SUM(Ordsize.allocated) AS totallocated,;
> SUM(Ordsize.shipped) AS totshipped, Ordhead.sbo AS specialord;
> FROM ;
> Ordsize ;
> INNER JOIN ordprod ;
> ON Ordprod.orderprodid = Ordsize.orderprodid ;
> INNER JOIN ordhead ;
> ON Ordprod.orderid = Ordhead.orderid;
> GROUP BY Ordsize.orderprodid, Ordprod.orderid, Ordhead.sbo;
> ORDER BY Ordsize.orderprodid
>
>
>This view returns about 20,000 records
>
>ordsize table has 194,000 records
>ordprod table has 21,000 records
>ordhead table has 3600 records
>indexes exist for all fields, i.e. orderprodid,orderid in all tables
>
>This query takes about 2-3 seconds on my local machine, but can take minutes over the network at the customer site.
>
>Any ideas on how to speed this up?
Don't know if it's been mentioned yet but IIRC with VFP9 you need to make sure that:
- all your table code pages ( CPDBF() ) are the same (typically Windows-1252)
- those code page values are the same as CPCURRENT()
- SET COLLATE is set to MACHINE
Regards. Al
"Violence is the last refuge of the incompetent." -- Isaac Asimov
"Never let your sense of morals prevent you from doing what is right." -- Isaac Asimov
Neither a despot, nor a doormat, be
Every app wants to be a database app when it grows up