Very Slow Access Time for KSAM-XL File

Boyle, Joe Joe.Boyle@cognos.com
Thu, 11 Oct 2001 11:19:42 +0100


This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

------_=_NextPart_001_01C1523E.3DFA5330
Content-Type: text/plain

Hi Katie,

you could force the path/find procedures to use a temp field to obtain key
values by using syntax like that below,

  temp t'LAST-NAME char*15 reset at startup
  file EMPLOYEES prim 
  access VIAINDEX LAST-NAME using t'LAST-NAME request t'LAST-NAME 
  field t'last-name 
  build list detail 


-----Original Message-----
From: Katie Link [mailto:linkkati@isu.edu]
Sent: 10 October 2001 19:08
To: powerh-l@lists.swau.edu
Subject: Very Slow Access Time for KSAM-XL File


I'm using Quick and accessing a KSAM-XL file sequentially viaindex.
There are three indexes in this ksam file and I'm accessing using one of
the indexes.  I also use select with the file statement.  I'd like to
select records from the ksam file based on a range of values that I
request.  There are only 13,000 records in the ksam file but record
selection takes a very long time (I stopped the process after about 8
minutes).  Are there any suggestions for making this screen run faster?
I'm using PowerHouse 8.29D3 on an HP-3000 box.  I have included the
Quick code and ksam file structure below.  Thanks in advance

Quick code:

screen siqs activities find

temp beg-index char*10
temp end-index char*10

file crsksam primary
  access sequential viaindex c-index request beg-index, end-index
  select if c-index >= beg-index and c-index <= end-index

field beg-index
field end-index
skip 1
field c-index
field c-sess-crs-sec1

PROCEDURE PATH
  BEGIN
    REQUEST BEG-INDEX
    IF PROMPTOK
      THEN REQUEST END-INDEX
    IF PROMPTOK
      THEN LET PATH = 1
    IF PATH = 0
      THEN ERROR "Key/Index required."
    END

PROCEDURE FIND
  BEGIN
    GET CRSKSAM VIAINDEX C-INDEX SEQUENTIAL
    END

BUILD

KSAM file structure:

    Record:             CRSKSAM
    of File:            CRSKSAM
    Organization:       INDEXED
    Type:               KSAMXL   (ASCII)
    Open:               CRSKSAM
    Description:
             This file contains the index number related to each
combined
             session, department, course + section key and is used to
             retrieve course information via an index number which is
             easier to remember and faster to use.
    Record Size:        36 Bytes

-- Record Contents --
    Item                                 Type            Size  Occ
Offset
    C-INDEX                              CHARACTER          6
0
    C-SESS-CRS-SEC1                      CHARACTER         15
6
    .C-SESSION1                          CHARACTER          4
6
    .C-DEPT1                             CHARACTER          5
10
    .C-CRS1                              CHARACTER          4
15
    .C-SEC1                              CHARACTER          2
19
    C-SESS-CRS-SEC2                      CHARACTER         15
21
    .C-SESSION2                          CHARACTER          4
21
    .C-DEPT2                             CHARACTER          5
25
    .C-CRS2                              CHARACTER          4
30
    .C-SEC2                              CHARACTER          2
34

-- Index Contents --

 ** C-INDEX is a 6 byte   UNIQUE PRIMARY  index **


    Segment                              Type            Size  Ord
Offset
    C-INDEX                              CHARACTER          6    A
0


 ** C-SESS-CRS-SEC1 is a 15 byte  REPEATING ALTERNATE  index **


    Segment                              Type            Size  Ord
Offset
    C-SESS-CRS-SEC1                      CHARACTER         15    A
0


 ** C-SESS-CRS-SEC2 is a 15 byte  REPEATING ALTERNATE  index **


    Segment                              Type            Size  Ord
Offset
    C-SESS-CRS-SEC2                      CHARACTER         15    A
0




------_=_NextPart_001_01C1523E.3DFA5330
Content-Type: text/html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">



RE: Very Slow Access Time for KSAM-XL File



Hi Katie,

you could force the path/find procedures to use a temp field to obtain key values by using syntax like that below,

  temp t'LAST-NAME char*15 reset at startup
  file EMPLOYEES prim
  access VIAINDEX LAST-NAME using t'LAST-NAME request t'LAST-NAME
  field t'last-name
  build list detail


-----Original Message-----
From: Katie Link [mailto:linkkati@isu.edu]
Sent: 10 October 2001 19:08
To: powerh-l@lists.swau.edu
Subject: Very Slow Access Time for KSAM-XL File


I'm using Quick and accessing a KSAM-XL file sequentially viaindex.
There are three indexes in this ksam file and I'm accessing using one of
the indexes.  I also use select with the file statement.  I'd like to
select records from the ksam file based on a range of values that I
request.  There are only 13,000 records in the ksam file but record
selection takes a very long time (I stopped the process after about 8
minutes).  Are there any suggestions for making this screen run faster?
I'm using PowerHouse 8.29D3 on an HP-3000 box.  I have included the
Quick code and ksam file structure below.  Thanks in advance

Quick code:

screen siqs activities find

temp beg-index char*10
temp end-index char*10

file crsksam primary
  access sequential viaindex c-index request beg-index, end-index
  select if c-index >= beg-index and c-index <= end-index

field beg-index
field end-index
skip 1
field c-index
field c-sess-crs-sec1

PROCEDURE PATH
  BEGIN
    REQUEST BEG-INDEX
    IF PROMPTOK
      THEN REQUEST END-INDEX
    IF PROMPTOK
      THEN LET PATH = 1
    IF PATH = 0
      THEN ERROR "Key/Index required."
    END

PROCEDURE FIND
  BEGIN
    GET CRSKSAM VIAINDEX C-INDEX SEQUENTIAL
    END

BUILD

KSAM file structure:

    Record:             CRSKSAM
    of File:            CRSKSAM
    Organization:       INDEXED
    Type:               KSAMXL   (ASCII)
    Open:               CRSKSAM
    Description:
             This file contains the index number related to each
combined
             session, department, course + section key and is used to
             retrieve course information via an index number which is
             easier to remember and faster to use.
    Record Size:        36 Bytes

-- Record Contents --
    Item                                 Type            Size  Occ
Offset
    C-INDEX                              CHARACTER          6
0
    C-SESS-CRS-SEC1                      CHARACTER         15
6
    .C-SESSION1                          CHARACTER          4
6
    .C-DEPT1                             CHARACTER          5
10
    .C-CRS1                              CHARACTER          4
15
    .C-SEC1                              CHARACTER          2
19
    C-SESS-CRS-SEC2                      CHARACTER         15
21
    .C-SESSION2                          CHARACTER          4
21
    .C-DEPT2                             CHARACTER          5
25
    .C-CRS2                              CHARACTER          4
30
    .C-SEC2                              CHARACTER          2
34

-- Index Contents --

 ** C-INDEX is a 6 byte   UNIQUE PRIMARY  index **


    Segment                              Type            Size  Ord
Offset
    C-INDEX                              CHARACTER          6    A
0


 ** C-SESS-CRS-SEC1 is a 15 byte  REPEATING ALTERNATE  index **


    Segment                              Type            Size  Ord
Offset
    C-SESS-CRS-SEC1                      CHARACTER         15    A
0


 ** C-SESS-CRS-SEC2 is a 15 byte  REPEATING ALTERNATE  index **


    Segment                              Type            Size  Ord
Offset
    C-SESS-CRS-SEC2                      CHARACTER         15    A
0



------_=_NextPart_001_01C1523E.3DFA5330--