I can't find a reason why this setting would cause any difference in query performance. Enabling 1.x compatibility adds a few extra steps at the beginning of each request, all related to populating the various properties of the CGI object. Could it be that this is a coincidence and that the performance improvement had to do with a re-start of FoxWeb, reboot, or other factor? I would really appreciate it if you re-enabled the setting a ran an additional test.
Sent by Fernando Medan on 01/09/2007 10:04:58 AM:
I believe that I found the problem. The FoxWeb Control Center was configured with the option compatibility 1.x.
When disabling it, the query with character fields was equal of fast than with numerical fields.
I do not know the cause, but now it works well.
Thank you very much
Sent by Fernando Medan on 01/09/2007 04:46:57 AM:
Thanks, but I think that there is no difference in the buffer memory size.
? SYS(3050, 1): 162791424
In FoxWeb (1 Channel)
Response.Write(SYS(3050, 1)) : 168820736
The discrepancy happens when I use fields of characters. The query is very fast with numerical fields.
Does there be any possibility than the Query SQL not be optimized?
Your help is very appreciated.
Sent by FoxWeb Support on 01/08/2007 04:56:19 PM:
Assuming that it all runs on the same server, the discrepancy between running your first SQL statement in VFP and FoxWeb can only be attributed to the buffer memory size. FoxWeb 3.X divides the buffer memory size value that you specified in the FoxWeb Control Center, between the number of running channels. For example, if you specify that you want a total of 900 MB and 3 channels, each channel will be configured to use up to 300 MB of buffer memory size. You can compare the values in each environment by checking the value of SYS(3050, 1):
Sent by Fernando Medan on 01/08/2007 02:54:27 PM:
Currently I am using FoxWeb 3.1 / VFP 6.
I am having problems in SQL query with a table of 250.000 records:
The FoxWeb script with field of characters delays 30 seconds, with a numeric field delays 0 second.
The fields are indexed in the two cases.
select * from customer where id_cust=21121 into cursor cust2 FoxWeb Script (0 segundos)
Thanks for your help.