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

How to Improve the performance of an IMS DB code?


IBM Mainframe Forums -> IMS DB/DC
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
sureshkumar_p01

New User


Joined: 22 Feb 2007
Posts: 7
Location: bangalore

PostPosted: Wed Jul 04, 2007 12:27 pm
Reply with quote

Hi All,
I jus need to know wat r the ways in which we can improve the performance of an IMS DB code. i.e. how can we do performance tuning to an IMS DB code.

Kindly help me out.
Thanks in Advance,
Suresh
Back to top
View user's profile Send private message
Bitneuker

CICS Moderator


Joined: 07 Nov 2005
Posts: 1104
Location: The Netherlands at Hole 19

PostPosted: Wed Jul 04, 2007 2:36 pm
Reply with quote

Well, you could start by posting the DLI-calls and the database structure (i.e DBD) so we can check the way you manouver through the databases. If i.e you need to retrieve more segments in a hierargy you might consider a pathcall.

You also may have a look at the sticky describing the database manager.
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Wed Jul 04, 2007 5:33 pm
Reply with quote

Do you have BTS at your installation? Do you have something like Omegamon? BTS is an IMS utility that you as a programmer use. Omeg is generally used by your DBA team and they will certainly let you know if you have a PIG executing in the system. icon_lol.gif
Back to top
View user's profile Send private message
Devzee

Active Member


Joined: 20 Jan 2007
Posts: 684
Location: Hollywood

PostPosted: Thu Jul 05, 2007 10:54 am
Reply with quote

Quote:
improve the performance of an IMS DB code

It really depends on what type of code you are looking and analyzing to improve the performance. If you post some scenarios then someone can help you.
I'll give an example - if the program issues only one GN call to read segments sequentially from a database - Then one would think the DLI call has all valid parameters, and it reads sequentially. This is no harm if the database has few hundreds of segment occurances, but if the database has millions of segment occurance then this 1 DLI call brings down your performance.

Do you code DLI or BMP jobs?
Use Checkpoint and Restart
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Thu Jul 05, 2007 10:18 pm
Reply with quote

One more little thing to think about. If you do not need info from a segment at a higher level, you do not need to access it. You do not need to do path calls. Set your SSA up just to look at the segment level that you need. For instance, you have a root segment that is the customer - the 2nd level under that is the order number - the 3rd level under the order is what you need - let's say the line items. So, you use only that line item SSA when you are going thru the database. (Let's just say that the reason you want to do this is because you need to remove certain items from inventory - or whatever or finalize the order). Once you have your line item segment, you can look at the key feedback area in your PCB. It will contain the concatenated keys of the segments above where you are now POSITIONED. Let's say you have used GHN qualified to look for those line items. You got a hit. You don't want to lose your POSITION on the line items. You have set up another PCB for the same database. Your GHN PCB (1) has you on the line items. You can then build key qualified SSA's and go after the segments above with your second PCB (2). I have used multiple PCBs in IMS programs and I it and it is much more effiecient. Just be careful that you always know where y ou are.....there is a very naughty thing that can happen and it is called a DEADLY EMBRACE. Isn't IMS GREAT!!!
Back to top
View user's profile Send private message
Bitneuker

CICS Moderator


Joined: 07 Nov 2005
Posts: 1104
Location: The Netherlands at Hole 19

PostPosted: Thu Jul 05, 2007 11:16 pm
Reply with quote

Multiple positioning, double PCB's and command codes are the key to successfull access....... Just doubt if this is the right forum to discus superdooper stuff. May be admin will be willing to open a kind of moderators only discussion forum where we can post our thoughts about IMS. And...... I understand why you bolded the positioning; understanding these kind of things allow you to write well performing applications as does a (secondary) index, analysing datamodels, relationships, access paths, priorities for batch/online and so on....... It's the complete package of requirements that decides how the databases and everything else are designed.
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Fri Jul 06, 2007 12:02 am
Reply with quote

Exactly - but why not learn these things and keep them in the back of your mind - that is the power of IMS.
Back to top
View user's profile Send private message
Bitneuker

CICS Moderator


Joined: 07 Nov 2005
Posts: 1104
Location: The Netherlands at Hole 19

PostPosted: Sat Jul 07, 2007 12:09 am
Reply with quote

Sandy Zimmer wrote:
Exactly - but why not learn these things and keep them in the back of your mind - that is the power of IMS.


Sandy: please search the IMS DB/DC forum for posts by me containing 'learn', 'understand' and 'comprehend' icon_wink.gif I posted stickies so people could find the way to the FINE documentation too. In the Netherland we've got a saying: "Roepende in de woestijn". (Caller in the desert translated 1:1). May be the pressure is too high and there's a lack of time to read through the documentation, learn, understand and comprehend. Still it's the only way to become a good IMS developper and prevent copying tricks even if they are wrong orr bad code.

PS: no hard feelings to posters posting without studying first; there might be a good reason for posting 'in a hurry' so we go on helping them.
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Sat Jul 07, 2007 12:24 am
Reply with quote

George - I understand what you are saying. Are these people just learning or are they working on real-live applications or a combination? I am thankful every day that I had "mentors". I think that first, everyone needs a real understanding of how IMS works - the components, the realities, the chicken and the egg......etc - practical applications. I still say that the best lessons learned are those learned by error - 9 times out of 10, you will never make that mistake again. But, sometimes people are so lost, that they do not know the correct questions to ask? Maybe they can post what research process they have gone thru before posting? Maybe they can also say whether this is a "real" problem - a real life on the job problem?
Back to top
View user's profile Send private message
Bitneuker

CICS Moderator


Joined: 07 Nov 2005
Posts: 1104
Location: The Netherlands at Hole 19

PostPosted: Sat Jul 07, 2007 12:38 am
Reply with quote

Sandy: most of the time it's a combination of learning and real work. When some people get a job or assignment to maintain the old stuff which has been outsourced to them there's little time for real training and education. I myself expirienced this when I first joined a softwarehouse (CMG). One should realise nowadays in our countries there are no 'instant experts' pretending to know all about it. In new booming areas there's a lack of IMS developpers (and also at other fields) so it tends to increase the number of 'instant experts'. Being an instant expert brings a lot of stress and lack of time; the boss has to make a profit so........
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Sat Jul 07, 2007 12:47 am
Reply with quote

OK. I understand. I will still continue to help and try to get the poster to narrow down the range of the question.
Back to top
View user's profile Send private message
Bitneuker

CICS Moderator


Joined: 07 Nov 2005
Posts: 1104
Location: The Netherlands at Hole 19

PostPosted: Sat Jul 07, 2007 1:35 am
Reply with quote

Thanks, you're posts are more than wellcome as I PM-ed you.........but yet we should encourage them to some reading before posting. I use to do this by posting links to the FINE documentation where they can find what's going on. And as for freshers and students: I look at all postst from 'above', step back and then analyse what the purpose of the question is. Thus recognising the type of character and purpose who's behind the question. Anyway: there's a new forum under construction for freshers and students right here
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 -> IMS DB/DC

 


Similar Topics
Topic Forum Replies
No new posts run rexx code with jcl CLIST & REXX 15
No new posts Compile rexx code with jcl CLIST & REXX 6
No new posts REXX code to expand copybook in a cob... CLIST & REXX 2
No new posts exploiting Z16 performance PL/I & Assembler 2
No new posts VSAM return code 23 - for a Random read COBOL Programming 4
Search our Forums:

Back to Top