• Subject: Help - SQL creating indexes when not necessary.
  • From: "Walden Leverich" <walden@xxxxxxxxxxxxxxx>
  • Date: Thu, 28 May 1998 08:50:08 -0400
  • Importance: Normal

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 thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.