HP OpenVMS Systems

ask the wizard
Content starts here

Sorting, SQL, COBOL, and Hypersort?

» close window

The Question is:

Topic: Performance enhancement of COBOL internal SORT processing.
We currently are attempting to remove SQL "order by" processing within
a called SQLMOD and replace it with a Cobol sort routine.  Performance
tests appear to indicate that the processing time for both is nearly
equal (about 8 hours).  I would like to attempt to improve sort pro-
cessing performance. I'm using the following sort structure (rows are
fetched directly from the Oracle Rdb database):
                   SORT SORT-OM-402-FILE
                       ASCENDING KEY SORT-OM-ORD-REGION-ID,
                        INPUT PROCEDURE IS 1500-GEN-OM-DATA
                              GIVING TMP-OM.
Note: Max sort file  created are between 250-300,000 blocks
I've setup the sort so that SYS$SCRATCH points to one drive for
the SORT work files and another drive for TMP-OM in order to enhance
throughput.  I was considering the use of the RESERVE qualifier on
the TMP-OM file but I was concerned with the increase in this param
since I believe it is similar to performing the SET RMS_DEF  buffers
command which has caused me problems in the past (ie. %LIB-F-
INSVIRMEM-insufficient virtual memory).  I was also considering
the use of additional sort work files, but not sure if this would help since
 there is only 1 file being sorted and I'm not sure you can even do this
in an internal sort (ie. I know the DCL sort allows for it).  Any insight
would be appreciated.

The Answer is :

  If you have access to an OpenVMS Alpha V7.0 or later system, you
  will want to measure the performance of this configuration with
  Hypersort.  DCL SORT/MERGE and COBOL SORT/MERGE can both use
  Hypersort as described below.
$ help sort
     The OpenVMS Sort/Merge utility sorts records or merges input
     files. To sort one or more input files, specify the SORT command.
     These files are sorted according to the fields you select and
     one reordered output file is generated. To merge input files that
     have previously been sorted according to the same key fields,
     specify the MERGE command. One output file is generated.
     High-Performance SORT/MERGE Utility:
        On Alpha systems, you can also choose the high-performance
        Sort/Merge utility. It uses the same command line interface.
        Any differences are noted with the appropriate SORT and
        MERGE qualifiers. Use the SORTSHR logical to select the high-
        performance Sort/Merge utility. Define SORTSHR to point to the
        high-performance sort executable in SYS$LIBRARY as follows:
        To return to SORT/MERGE, deassign SORTSHR. (The SORT/MERGE
        utility is the default if SORTSHR is not defined.)

answer written or last revised on ( 23-MAY-2000 )

» close window