Gen online "batch" Windows/C/SQL Server application performance
search cancel

Gen online "batch" Windows/C/SQL Server application performance

book

Article ID: 274050

calendar_today

Updated On:

Products

Gen

Issue/Introduction

We generate Gen 8.6 online Windows/C/SQL Server applications to run in batch.
It has been noticed that they seem to have an upper limit of memory and they several hours to finish.
Is it possible to increase the memory usage to try to improve the performance?

Resolution

  1. The online generated batch programs are already being built with 64-bit i.e. BT profile OPTIONS token OPT.BTS=64 is being used.
  2.  Support's suggestion to add /LARGEADDRESSAWARE to Build Tool OPTIONS token OPT.IEFLINK did not improve the application performance.
  3. The application uses a DBMS of MS/SQL i.e. SQL Server via ODBC/SQL for database queries. Gen C/ODBC/SQL Server applications are cursor-based.

Therefore support suggested:
a. Look at the performance of the application database queries in SQL Server e.g. using "SQL Server Profiler" under the SQL Server Management Studio. SQL Server Profiler
b. If have significant READ EACH statements coded check if the "Multiple Fetch" option is being used for those. NOTE: By default "Do Not Generate a Multiple Row Fetch" is set on a READ EACH statement:  READ EACH Properties Dialog - General

Enabling Multiple Row Fetch was tested but again it had no significant performance benefit.
It was agreed to use an SQL analyzer tool to check the database queries that are executed in the batch, which will be done at some future date.