Home      Mainframe Forum      Mainfarme Tutorials      IBM Manuals      Mainframe Interview Questions      Mainframe Books      IT News     SiteMap     Downloads


     
 
MAINFRAME - TIP OF THE DAY : programming pearls - The fastest algorithm can frequently be replaced by one that is almost as fast and much easier to understand.

Google
 
Web mainframegurukul.com

Welcome to the mainframegurukul forums.

You are currently viewing our mainframe forums as a guest which gives you limited access to view most discussions, articles. By joining our free community you will have access to post topics, communicate privately with other members (PM), respond to polls, upload your own photos. Registration is fast, simple and absolutely free so please, join our community today!

If you have any problems with the registration process or your account login, please contact contact support at admin@mainframegurukul.com


Performance tuning..

 
Post new topic   Reply to topic    mainframegurukul.com Forum Index -> DB2 SQL - DB2 PROGRAMMING
  View previous topic :: View next topic  
Author Message
ambilileela
Member


Joined: 06 Jun 2006
Posts: 11

PostPosted: Tue Jun 27, 2006 12:18 pm    Post subject: Performance tuning.. Reply with quote

Hi all,

I have a db2 query in the cobol program. Because of this query the job is taking around 75cpu min to run. I need to reduce the cpu time to 35 cpu mins minimum. I am attaching the query in the post. Could anyone please suggest me a method to improve the performance.

SELECT DISTINCT
J.SLS_ORGN_OWN_ID
, E.CLS_OF_TRD_DE
, D.CLS_OF_TRD_DE
, D.CLS_OF_TRD_DE
FROM WKLY_CUST_SLS_SUM B
, COT_HIERARCHY D
, COT_HIERARCHY E
, SLS_PROD_RPTG_PR H
, SALES_ORGN_PAIRS J
WHERE B.CUST_NO = :WS-CSR-CUST-NO
AND B.END_DT > '1999-11-01'
AND B.CLS_OF_TRD_ID = D.CLS_OF_TRD_ID
AND D.CLS_OF_TRD_OWN_ID = E.CLS_OF_TRD_ID
AND B.PROD_GRP_ID = H.PROD_GRP_ID
AND B.HIER_ID = H.HIER_ID
AND H.PROD_GRP_OWN_ID = '12'
AND H.PROD_OWN_HIER_ID = 'USGP'
AND (H.END_DT IS NULL
OR H.END_DT > CURRENT DATE)
AND B.SLS_ORGN_ID = J.SLS_ORGN_ID
AND J.SLS_ORGN_OWN_ID IN ('17','228','30','50')
AND (J.END_DT IS NULL
OR J.END_DT > CURRENT DATE)


The customer no is fetched using the query

SELECT DISTINCT CUST_NO
FROM CUST_SLS_CHNL_CV
WHERE SLS_ORGN_ID IN ('17','30','50')

UNION

SELECT DISTINCT A.CUST_NO
FROM CUST_SLS_CHNL_CV A
, SLS_CREDIT_CV B
, SALES_ORG_PAIRS_CV C
WHERE A.SLS_ORGN_ID = '21'
AND A.CUST_NO = B.CUST_NO
AND B.REP_SLS_ORGN_ID = C.SLS_ORGN_ID
AND C.SLS_ORGN_OWN_ID = '228'

ORDER BY CUST_NO


Thanks in advance.

Regards,
Ambili.
Back to top
View user's profile Send private message

Krishna
Site Admin


Joined: 27 Jan 2006
Posts: 929

PostPosted: Wed Jun 28, 2006 4:32 pm    Post subject: db2 performance tunning Reply with quote

If you used working storage variables in the query.
---------------------------------------------------------

Make sure that variable used in the query has declared with proper
length/size.

If these variable sizes not compatible with DCL variable
length/size query does table scan and it takes more time to complete.



Thanks,
Krishna.
Back to top
View user's profile Send private message Send e-mail
ambilileela
Member


Joined: 06 Jun 2006
Posts: 11

PostPosted: Thu Jun 29, 2006 9:59 am    Post subject: Reply with quote

Hi,

Both are having the same size only.

Thanks,
Ambili.
Back to top
View user's profile Send private message
Kalicharan
Moderator


Joined: 08 Feb 2006
Posts: 31

PostPosted: Thu Jul 06, 2006 6:48 pm    Post subject: Reply with quote

Hi Ambili,

Check the indexes for WKLY_CUST_SLS_SUM.CUST_NO

Thinking that CUST_NO column is the most filtering one in the query.
If the column is not indexed then query might take more CPU time.
So verify the indexes of WKLY_CUST_SLS_SUM.CUST_NO.

Also the second query which is fetching the customer number, no need to use DISTINCT keyword in this case.
Union (in DB2 and Oracle) itself returns distinct result set.So no need to use the DISTINCT keyword in customer number selection query.
However distinct will not impact performance much in this case

Also check indexes for CUST_SLS_CHNL_CV. SLS_ORGN_ID as well.

Also you need to confirm whether the whole process (including the first and second queries) is taking time or first one alone taking such a long time.

Thanks
Kali.
Back to top
View user's profile Send private message Send e-mail
ambilileela
Member


Joined: 06 Jun 2006
Posts: 11

PostPosted: Tue Oct 03, 2006 3:20 pm    Post subject: Reply with quote

Hi

Sorry for the late reply. The outer query alone takes much time. Could some one please provide any method to tune this query.

Thanks in advance
Ambili
Back to top
View user's profile Send private message
popeye
Member


Joined: 03 Nov 2006
Posts: 1

PostPosted: Fri Nov 03, 2006 1:30 am    Post subject: Reply with quote

ambilileela wrote:
Hi

Sorry for the late reply. The outer query alone takes much time. Could some one please provide any method to tune this query.

Thanks in advance
Ambili


Hi Ambili

Have you checked all the indexes, as well as which ones are clustered and when last stats were gathered on all the tables?

You would need to check the indexes and stats first. Also check that the indexes have the relevant columns and in the relevant orders.

Run an explain and see what the query is doing, then you will be able to see where exactly in the query you are encountering problems. It also depends on how much data is on each of the tables.

Then you might try re-writing your query, using the JOIN clauses.

Unfortunately there is no "correct" answer to your question, one has to take into account quite a lot of the surrounding circumstances, including the installation PARMS, Bufferpool sizes, Work Pool sizes, etc.

The above should help you to identify if you have any problem with the query, then you can see where you need to concentrate your efforts.

Cheers.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    mainframegurukul.com Forum Index -> DB2 SQL - DB2 PROGRAMMING All times are GMT + 5 Hours
Page 1 of 1



 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

Related topics
 Topics   Replies   Author   Views   Last Post 
No new posts job from spool area 4 safia_shaheen 7693 Thu Aug 30, 2007 5:54 pm
sudhakar.kataru View latest post
No new posts accessing net via job 2 Tejas 2265 Sat Jun 02, 2007 4:12 pm
Tejas View latest post
No new posts Reg my Job search 1 ursvmg 2009 Sat Apr 21, 2007 4:35 am
Veera View latest post
No new posts Need information regarding job openings in USA on Mainframes 2 rayala_uday 2215 Thu Apr 19, 2007 6:58 am
rayala_uday View latest post
No new posts Sending the user a message when job abends? 2 LRevell 4388 Sat Feb 03, 2007 1:30 am
LRevell View latest post
 



This widget requires Flash Player 9 or better








Go to top of the page
 

Online ABEND Reference ||  JCL References ||  COBOL References ||  VSAM References ||  Tutorials by Drona Series ||  SQL tutorial ||  BOOKS  ||  DB2 INTERVIEW QUESTIONS ||  COBOL INTERVIEW QUESTIONS  ||  JCL INTERVIEW QUESTIONS ||  JCL2 INTERVIEW QUESTIONS ||  VSAM INTERVIEW QUESTIONS ||  CICS INTERVIEW QUESTIONS  ||  Online tutorials ||  Online ABEND Reference ||  JCL References ||  COBOL References ||  VSAM References ||  Tutorials by Drona Series ||  SQL tutorial ||  BOOKS  ||  SiteMap  ||  Expeditor Tutorial  ||  FILE-AID Tutorial  ||  Changeman Tutorial  ||  COBOL   ||  DB2   ||  JCL  ||  CICS  ||  VSAM  ||  DB2 Interview Questions ( 110 )   || Simple JCL Tutorials  || JCL Tutorial from MainframeGurukul.com   || Simple JCL Tutorial - Chapter1 ;|| Mainframe Forum - Tutorials  || Mainframe Tutorials

Drona Educational Forums - Mainframe Cobol DB2 CICS Board
Powered by phpBB