IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Logic needed in replace of SUBSTR function


IBM Mainframe Forums -> DB2
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
karthik3883

New User


Joined: 19 Oct 2007
Posts: 37
Location: chennai

PostPosted: Mon Aug 05, 2013 11:25 am
Reply with quote

Hi,

In our cobol program we are doing a join between table a and table b.

Declare d-id cursor with hold for
select deal,e.code from table a,table b where
substr(a.unit_id,5,10) = b.element_code

the table b has element_code which is 10 character and in table a the unit_id is 14 character.

our dba had reviewed and given a comment saying substr needs to be replaced.

could anyone suggest a better option for this

Regards
Karthik
Back to top
View user's profile Send private message
Pandora-Box

Global Moderator


Joined: 07 Sep 2006
Posts: 1592
Location: Andromeda Galaxy

PostPosted: Mon Aug 05, 2013 11:53 am
Reply with quote

I would suggest you to first understand your DBA's suggesion
Back to top
View user's profile Send private message
karthik3883

New User


Joined: 19 Oct 2007
Posts: 37
Location: chennai

PostPosted: Mon Aug 05, 2013 11:56 am
Reply with quote

DBA hasnt suggested anything,he informed to check for alternative logic

Regards
Karthik
Back to top
View user's profile Send private message
Pandora-Box

Global Moderator


Joined: 07 Sep 2006
Posts: 1592
Location: Andromeda Galaxy

PostPosted: Mon Aug 05, 2013 12:05 pm
Reply with quote

I wanted you to understand why he had asked you to change the logic.

Did you try to understand that or asked him why he said that?
Back to top
View user's profile Send private message
karthik3883

New User


Joined: 19 Oct 2007
Posts: 37
Location: chennai

PostPosted: Mon Aug 05, 2013 12:08 pm
Reply with quote

The number of records in table a is huge.
Back to top
View user's profile Send private message
Pandora-Box

Global Moderator


Joined: 07 Sep 2006
Posts: 1592
Location: Andromeda Galaxy

PostPosted: Mon Aug 05, 2013 2:05 pm
Reply with quote

How many records are there in both the tables and what are you trying to achieve after doing a join on select?

Are the fields substr(a.unit_id,5,10) = b.element_code indexed?

How many records do you expect after join?
Back to top
View user's profile Send private message
agkshirsagar

Active Member


Joined: 27 Feb 2007
Posts: 691
Location: Earth

PostPosted: Mon Aug 05, 2013 8:56 pm
Reply with quote

Quote:
Are the fields substr(a.unit_id,5,10) = b.element_code indexed?

Even if unit_id was indexed, it won't be used as the substr expression is not using first few bytes of column.

@OP,
If you really need to use this SUBSTR, you might want to look into 'Expression Based Indexes'.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> DB2

 


Similar Topics
Topic Forum Replies
No new posts Replace each space in cobol string wi... COBOL Programming 2
No new posts Replace Multiple Field values to Othe... DFSORT/ICETOOL 12
No new posts Calling an Open C library function in... CICS 1
No new posts DATE2 function SYNCSORT 15
No new posts Help on PL/I jsonPutValue function PL/I & Assembler 8
Search our Forums:

Back to Top