Indexed or Seq?
Deskin, Bob
Bob.Deskin at Cognos.COM
Thu Aug 11 08:06:24 CDT 2005
There are two issues here. First is how QUIZ deals with UNIQUE indexes
and second the fact that this is relational.
When linking to a UNIQUE index, QUIZ assumes that there is only one
record/row to retrieve. So in the statement
ACCESS A LINK TO B
where B is retrieved via a unique index, for each A, QUIZ will attempt
to retrieve only one B record/row. And of course it is the first such
record/row that you see in your record complex.
Now on to relational. While QUIZ knows that the index is unique from the
database schema, it retrieves the data as if it was an indexed file as
opposed to generating a SELECT with a JOIN. As well, the individual
SELECTs are passed to the database and it is the database that
determines how to retrieve the data and which row to return. If you
specify VIAINDEX in the linkage, we'll pass down an ORDERBY so that you
get the first row in the index, however that would only be meaningful
with a repeating index and not in this case (sorry for the brief
tangent).
It is well known that using cursors is typically more efficient that
straight linkage. In this case I suggest you do a performance comparison
between the ACCESS statement that you have and a DECLARE CURSOR using
the appropriate JOIN.
Bob
-----Original Message-----
From: powerh-l-bounces+bob.deskin=cognos.com at lists.sowder.com
[mailto:powerh-l-bounces+bob.deskin=cognos.com at lists.sowder.com] On
Behalf Of fernando.olmos at hpa.com.au
Sent: August 10, 2005 7:49 PM
To: powerh-l at lists.sowder.com
Subject: Indexed or Seq?
Hi everyone,
I've been given the task of speeding up record complexes for a
master/detail set of tables, where the detail table has over 3 million
records. Don't worry, I am not going to ask the obvious, but I was
wondering if someone can help me determine how QUIZ looks up data for
where one the lookup field is the first field in the UNIQUE index set.
Here are the QSHOWs for the two tables in question ...
Record: INVOICED_DETAIL
of Database: #####
Organization: RELATIONAL
Null Values Allowed:No
Type: ORACLE
Hold Cursor: Unspecified
Open: #####
Record Size: 558 Bytes
-- Record Contents --
Item Type Size
Occ Offset
r ORDER_NO INTEGER SIGNED 8
0
r PRIMARY_ID CHARACTER 2
8
r SECONDARY_ID CHARACTER 2
10
r PROD_LVL0 CHARACTER 2
12
r PROD_LVL1 CHARACTER 2
14
r PROD_LVL2 CHARACTER 2
16
r PROD_LVL3 CHARACTER 2
18
r PROD_LVL4 CHARACTER 2
20
r PRODUCT_CODE VARCHAR 16
22
r EVENT_ID INTEGER SIGNED 4
38
..
etc
..
-- Index Contents --
** ORDER_KEY_ID is a UNIQUE index **
Segment Type Size
Ord Offset
ORDER_NO INTEGER SIGNED 8
A 0
PRIMARY_ID CHARACTER 2
A 8
SECONDARY_ID CHARACTER 2
A 10
PROD_LVL0 CHARACTER 2
A 12
PROD_LVL1 CHARACTER 2
A 14
PROD_LVL2 CHARACTER 2
A 16
PROD_LVL3 CHARACTER 2
A 18
PROD_LVL4 CHARACTER 2
A 20
EVENT_ID INTEGER SIGNED 4
A 22
PRODUCT_SEQ_NO INTEGER SIGNED 4
A 26
Other indexes are all REPEATING and do not reference any of the
above indexes
Record: INVOICED_MASTER
of Database: #####
Organization: RELATIONAL
Null Values Allowed:No
Type: ORACLE
Hold Cursor: Unspecified
Open: #####
Record Size: 591 Bytes
-- Record Contents --
Item Type Size
Occ Offset
r ORDER_NO INTEGER SIGNED 8
0
..
etc
..
-- Index Contents --
** ORDER_NO_IM is a UNIQUE index **
Segment Type Size
Ord Offset
ORDER_NO INTEGER SIGNED 8
A 0
Again, there are other repeating indexes, but they are not
relevant to my query.
If I link the two tables using a simple direct link, like the
following ...
access invoiced_master in hisdb &
link order_no to order_no of invoiced_detail in hisdb
Will QUIZ use the UNIQUE index defined in INVOICED_DETAIL to
look its records directly, or because the ORDER_NO column is not
explicitly defined as a primary key (not unique of course), will it use
sequential searching?
I hope I made myself clear here. If not please ask.
PS: this email contains rich text formatting. Please forgive me
if it appears in your mailbox all over the place!
Thanks guys.
This message may contain privileged and/or confidential information. If you have received this e-mail in error or are not the intended recipient, you may not use, copy, disseminate or distribute it; do not open any attachments, delete it immediately from your system and notify the sender promptly by e-mail that you have done so. Thank you.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.sowder.com/pipermail/powerh-l/attachments/20050811/103c2985/attachment-0001.html
More information about the powerh-l
mailing list