> Hi, in order to generate a very heavy report, i'm populating two temp
> tables like:
> SELECT ....
> FROM A, B
> INTO Temp MyTable1
> SELECT ....
> FROM MyTable1, C, D
> INTO Temp FinalTable
> If i run the statements directly from dbAccess, the process takes
> around 10 minutes (i'm talking of a 35GB database) but when i run it
> from a C/S application, after 1 hour 21 minutes the process isn't over
> and finally raises a: "Could not do a physical-order read to fetch
> next row".
> The C/S reports worked perfectly until last monday when the server had
> some problems.
> What should i look for and what can be the problem? Can it be a
> Informix-Connect problem due to it only fails on C/S applications?
> Thanks a lot
First of all I would recommend that you add the "with no log"
clause. This ensures that the inserts into the temporary
tables will not be logged. Make sure that you have configured
at least one temporary dbspace ("T" flag in "onstat -d"), better
would be 2 or more temp. dbspaces (allowing IFMX to fragment the
temp. table). Remember to change your $ONCONFIG DBSPACETEMP
parameter after adding additional temp. dbspaces.
Second you should check the isolation level of your client application
and the "set lock mode to wait <sec>" settings.
Have you used the same settings in you your "dbaccess"-test ?
I doubt that the above 2 select's are all what the application is
doing. Is the application not selecting the rows from "FinalTable" ?
If yes, the network might also be a possible bottleneck.
You might download the "lockwt" utility from my website for
analyzing lock conflicts:
http://www.herber-consulting.de/cgi-bin/MainDriver.pl?action=IfmxUtil
Best regards
Eric
--
IT-Consulting Herber
WWW: http://www.herber-consulting.de
***********************************************
Download the IFMX Database-Monitor for free at:
http://www.herber-consulting.de/BusyBee
***********************************************