Re: Client/Server slowdown
Posted in 1998
Topics: Performance & Tuning, SQL Development & Query Writing, Stored Procedures & SPL, Connectivity: ESQL/C, 4GL & Embedded SQL, Migration, Import/Export & Data Conversion
I can give the following ponters: 1. Writing a stored proceudre may increass the performance in your case 2. You may prepare all the select/insert/update etc. occuring in a loop and open it in the loop. In 4gl, it wont pass the entire table to the 'client' and do processing. Instead all database operations will be done at 'server' end. So mass maigration of data is not u'r cause. But network communication can prove to be a bottleneck if u are using several seprate selects in a loop. Try to join as many selects as possible into one select(even stored procedure). 3. If possible use external ordering in the reports. 4. Even if Index is present Engine MAY NOT use it. Make sure by 'set explain on' and check the query path. If this is the case, you may have to re organize your queries. Cheers Byron Rieper wrote in message <356d917e.0@news.primary.net>... >I am a relative newcomer to Informix (1 month) but I have encountered >a 4GL problem that has me stymied. The DG systems I am working on are >configured such that all data physically reside on one machine >designated as the server and all 4GL programs reason on another >Informix DG box known as the client. There is a third DG box used for >developement whereon both 4GL programs and test data reside. I >inherited a 4GL problem that prints invoices. When I run 52 invoices >through in the standalone developement box I am done in about 50 >seconds worse case scenario when there is a lot of concurrent >activity. The same invoices run in the client environment takes >roughly an hour regardless of concurrent processes. At first I >suspected volume in the tables till I saw the SELECT s in the program >If so how do I eliminate this mass >migration of data? Would putting the selects as stored procedures on >the server help? I have encountered this problem before in Visual >Basic where I did not pass through the SQL statement to the server and >as a result my SQL statement executed only after the entire table was >passed to my client. Again, is this what is happening here? >