|
OK folks, what am I missing?
I have an index over a physical keyed by BVBYST, BVBWNB, BVBZST, BVBVNB
with a sort sequence of *HEX and a language of ENU. There is no select/omit on
this logical, the access path is valid and maintenance is immed. There are
125000 index entries. STRSQL's sort sequence is set to *JOB and my job's
sequence is set to *HEX, similarly, STRSQL's language is *JOB and my job's
language is ENU.
I issue the following SQL and SQL proceeds to build an index over
UPBVREP.
SELECT
AEADST, AEAJNB, AEA1NB, count(*) FROM upbvrep, upaerep WHERE
aeadst = bvbyst and aeajnb = bvbwnb GROUP BY aeadst, aeajnb, aea1nb HAVING count(*) > 0 The debug message (CPI4321) in the joblog says 'Temporary access path
built.... using key fields BVBYST, BVBWNB using sequence table of QLA10025S...'
which is the CCSID 37 shared sort sequence table. Why is SQL using this table to
build the index? If SQL was to use *HEX, as it should, then it could use an
existing index to perform the join. What gives?
-Walden
|
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.