SoftTree Technologies SoftTree Technologies
Technical Support Forums
RegisterSearchFAQMemberlistUsergroupsLog in
SQL Tuning

 
Reply to topic    SoftTree Technologies Forum Index » 24x7 Scheduler, Event Server, Automation Suite View previous topic
View next topic
SQL Tuning
Author Message
Anirudh



Joined: 27 Mar 2006
Posts: 1

Post SQL Tuning Reply with quote

hello ,
I am a java developer but now a days i m working a SQL server 2005.N I hav to fine tune SQL's Queries.
So please help me out .i m pasting a code .so please help to find wats wrong in this code.
please its urgent.
Thx
Anirudh

select dimension1, dimension2, sum(average_assets) average_assets,
sum(average_liabilities) average_liabilities, sum(current_assets) current_assets, sum(current_liabilities) current_liabilities, sum(income) income
from (
select product_category_description dimension1, group by product_category_description dimension2
isnull( sum( case when isnull(sbumast.sbu_type,'ASSET') = 'ASSET' then average_assets else 0 "+" end),0) / cast(100 as varchar) average_assets,
abs(isnull( sum( case when isnull(sbumast.sbu_type,'LIABILITY') = 'LIABILITY' then "+" average_liabilities else 0 end),0))/cast("+mdivisor+" as varchar) average_assets,
isnull( sum( case when isnull(sbumast.sbu_type,'ASSET') = 'ASSET' then current_assets else 0 "+" end ),0) / cast(100 as varchar) current_assets,
abs(isnull( sum( case when isnull(sbumast.sbu_type, 'LIABILITY') = 'LIABILITY' then "+" current_liabilities else 0 end ),0)) /cast(100 as varchar) current_liabilities ,
isnull( sum( case when isnull(sbumast.sbu_type,'ASSET') = 'ASSET' and pmast.product_category "+" 1 then income_amount else 0 end),0) /cast(100 as varchar) income

from PF_ACCOUNT_BILL_VIEW acc
left outer HASH join
(select perform_id,
sum( case when outstanding_amount_inr > 0 then outstanding_amount_inr * (datediff(day,outstanding_from_date,outstanding_to_date)+1) else 0 end )/ cast(datediff(day,'2004-09-29','"+mto_date+"') + 1 as varchar) average_assets,

sum( case when outstanding_amount_inr 0 and '2004-10-15' between outstanding_from_date and outstanding_to_date then outstanding_amount_inr else 0 end ) current_assets,sum( case when outstanding_amount_inr > 0 and '2004-10-15' between outstanding_from_date and outstanding_to_date then outstanding_amount_inr else 0 end ) current_assets,

sum( case when outstanding_amount_inr '2004-10-15' then '2004-10-15' else outstanding_to_date end ) outstanding_to_date

from pf_os_BILL_VIEW pf_os

where outstanding_from_date = '2004-09-29' ) as x

group by perform_id ) as os

on acc.perform_id = os.perform_id

left outer HASH join (select perform_id,sum(income_amount) as income_amount from (

select perform_id, sum((isnull(system_income_amount,0)+isnull(manual_income_amount,0))/ (datediff(day, income_from_date, income_to_date) + 1) * (datediff(day, case when income_from_date > '2004-09-29' then income_from_date else '2004-09-29' end, case when income_to_date = '2004-09-29' and income_from_date '2004-10-15' then '2004-10-15' else income_to_date end) )+1 )

from pf_income_adjustments where income_to_date >= '2004-09-29' and income_from_date 0 and income_booked_date = '2004-09-29' and income_from_date 0 and income_booked_date between '2004-09-29' and '2004-10-15'

AND PERFORM_ID NOT IN ( SELECT DISTINCT PERFORM_ID FROM PF_ACCOUNT ACCMAST INNER HASH JOIN BRANCH_BG_REBATE ON ACCMAST.SOURCE_BRANCH_CODE = BRANCH_BG_REBATE.SOURCE_BRANCH_CODE AND GETDATE() BETWEEN BRANCH_BG_REBATE.FROM_MON AND BRANCH_BG_REBATE.TO_MON AND ACCMAST.DATA_SOURCE = 'BG' )

UNION ALL SELECT PERFORM_ID,SUM(MONTHLY_INCOME) FROM (

SELECT PERFORM_ID, MON_YR, (CALCULATEDINCOME/NO_OF_DAYS) * (1 + DATEDIFF(DAY,CASE WHEN MON_YR = '2004-10-15' THEN '2004-10-15' ELSE DATEADD(DAY,NO_OF_DAYS - 1,MON_YR) END)) AS MONTHLY_INCOME

FROM PF_TRAN_BG_REBATE INNER JOIN PF_PREFERENCES ON 1=1 WHERE (CASE WHEN '2004-09-29' = CONVERT(DATETIME,CAST(MONTH('2004-09-29') AS VARCHAR)+'/01/'+CAST(YEAR('2004-09-29') AS VARCHAR),101) AND MON_YR perform.getMaxMonthendDate('2004-09-29') THEN INCOME_FROM_DATE ELSE perform.getMaxMonthendDate('2004-09-29') END, CASE WHEN INCOME_TO_DATE = DATEADD(MONTH,1,PF_PREFERENCES.LAST_MONTHEND_DATE) THEN 1 ELSE 0 END) = 1 AND INCOME_TO_DATE >= perform.getMaxMonthendDate('2004-09-29') AND INCOME_FROM_DATE '2004-10-15' then '2004-10-15' else income_to_date end) )+1 )

from pf_income_adjustments INNER JOIN PF_PREFERENCES ON 1=1

where (CASE WHEN '2004-10-15' >= DATEADD(MONTH,1,PF_PREFERENCES.LAST_MONTHEND_DATE) THEN 1 ELSE 0 END) = 1 AND income_to_date >= perform.getMaxMonthendDate('2004-09-29') and income_from_date 0 and income_booked_date = DATEADD(MONTH,1,PF_PREFERENCES.LAST_MONTHEND_DATE) THEN 1 ELSE 0 END) = 1 AND income_to_date >= perform.getMaxMonthendDate('2004-09-29') and income_from_date 0 and income_booked_date between perform.getMaxMonthendDate('2004-09-29') and '2004-10-15'

AND PERFORM_ID IN ( SELECT DISTINCT PERFORM_ID FROM PF_ACCOUNT ACCMAST INNER HASH JOIN BRANCH_BG_REBATE ON ACCMAST.SOURCE_BRANCH_CODE = BRANCH_BG_REBATE.SOURCE_BRANCH_CODE AND GETDATE() BETWEEN BRANCH_BG_REBATE.FROM_MON AND BRANCH_BG_REBATE.TO_MON AND ACCMAST.DATA_SOURCE = 'BG' )

) as x group by perform_id) as inc
on acc.perform_id = inc.perform_id

Where isnull(acc.gl_account_id,'xxx') not like '0509%' and
isnull(acc.gl_account_id,'xxx') not like '080%' and
group by
product_category_description AND group by product_name

) as temp group by dimension1, dimension2
having sum(average_assets) 0 or sum(average_liabilities) 0 or sum(current_assets) 0 or sum(current_liabilities) 0 or sum(income) 0


Mon Mar 27, 2006 12:19 am View user's profile Send private message
SysOp
Site Admin


Joined: 26 Nov 2006
Posts: 7963

Post Re: SQL Tuning Reply with quote

I am sorry, but this you posted message in the wrong place. Please use http://groups.google.com/group/microsoft.public.sqlserver.server?lnk=sg&hl=en

: hello ,
: I am a java developer but now a days i m working a SQL server 2005.N I hav to
: fine tune SQL's Queries.
: So please help me out .i m pasting a code .so please help to find wats wrong
: in this code.
: please its urgent.
: Thx
: Anirudh

: select dimension1, dimension2, sum(average_assets) average_assets,
: sum(average_liabilities) average_liabilities, sum(current_assets)
: current_assets, sum(current_liabilities) current_liabilities, sum(income)
: income
: from (
: select product_category_description dimension1, group by
: product_category_description dimension2
: isnull( sum( case when isnull(sbumast.sbu_type,'ASSET') = 'ASSET' then
: average_assets else 0 "+" end),0) / cast(100 as varchar)
: average_assets,
: abs(isnull( sum( case when isnull(sbumast.sbu_type,'LIABILITY') = 'LIABILITY'
: then "+" average_liabilities else 0
: end),0))/cast("+mdivisor+" as varchar) average_assets,
: isnull( sum( case when isnull(sbumast.sbu_type,'ASSET') = 'ASSET' then
: current_assets else 0 "+" end ),0) / cast(100 as varchar)
: current_assets,
: abs(isnull( sum( case when isnull(sbumast.sbu_type, 'LIABILITY') =
: 'LIABILITY' then "+" current_liabilities else 0 end ),0))
: /cast(100 as varchar) current_liabilities ,
: isnull( sum( case when isnull(sbumast.sbu_type,'ASSET') = 'ASSET' and
: pmast.product_category "+" 1 then income_amount else 0 end),0)
: /cast(100 as varchar) income

: from PF_ACCOUNT_BILL_VIEW acc
: left outer HASH join
: (select perform_id,
: sum( case when outstanding_amount_inr > 0 then outstanding_amount_inr *
: (datediff(day,outstanding_from_date,outstanding_to_date)+1) else 0 end )/
: cast(datediff(day,'2004-09-29','"+mto_date+"') + 1 as varchar)
: average_assets,

: sum( case when outstanding_amount_inr 0 and '2004-10-15' between
: outstanding_from_date and outstanding_to_date then outstanding_amount_inr
: else 0 end ) current_assets,sum( case when outstanding_amount_inr > 0
: and '2004-10-15' between outstanding_from_date and outstanding_to_date
: then outstanding_amount_inr else 0 end ) current_assets,

: sum( case when outstanding_amount_inr '2004-10-15' then '2004-10-15' else
: outstanding_to_date end ) outstanding_to_date

: from pf_os_BILL_VIEW pf_os

: where outstanding_from_date = '2004-09-29' ) as x

: group by perform_id ) as os

: on acc.perform_id = os.perform_id

: left outer HASH join (select perform_id,sum(income_amount) as income_amount
: from (

: select perform_id,
: sum((isnull(system_income_amount,0)+isnull(manual_income_amount,0))/
: (datediff(day, income_from_date, income_to_date) + 1) * (datediff(day,
: case when income_from_date > '2004-09-29' then income_from_date else
: '2004-09-29' end, case when income_to_date = '2004-09-29' and
: income_from_date '2004-10-15' then '2004-10-15' else income_to_date end)
: )+1 )

: from pf_income_adjustments where income_to_date >= '2004-09-29' and
: income_from_date 0 and income_booked_date = '2004-09-29' and
: income_from_date 0 and income_booked_date between '2004-09-29' and
: '2004-10-15'

: AND PERFORM_ID NOT IN ( SELECT DISTINCT PERFORM_ID FROM PF_ACCOUNT ACCMAST
: INNER HASH JOIN BRANCH_BG_REBATE ON ACCMAST.SOURCE_BRANCH_CODE =
: BRANCH_BG_REBATE.SOURCE_BRANCH_CODE AND GETDATE() BETWEEN
: BRANCH_BG_REBATE.FROM_MON AND BRANCH_BG_REBATE.TO_MON AND
: ACCMAST.DATA_SOURCE = 'BG' )

: UNION ALL SELECT PERFORM_ID,SUM(MONTHLY_INCOME) FROM (

: SELECT PERFORM_ID, MON_YR, (CALCULATEDINCOME/NO_OF_DAYS) * (1 +
: DATEDIFF(DAY,CASE WHEN MON_YR = '2004-10-15' THEN '2004-10-15' ELSE
: DATEADD(DAY,NO_OF_DAYS - 1,MON_YR) END)) AS MONTHLY_INCOME

: FROM PF_TRAN_BG_REBATE INNER JOIN PF_PREFERENCES ON 1=1 WHERE (CASE WHEN
: '2004-09-29' = CONVERT(DATETIME,CAST(MONTH('2004-09-29') AS
: VARCHAR)+'/01/'+CAST(YEAR('2004-09-29') AS VARCHAR),101) AND MON_YR
: perform.getMaxMonthendDate('2004-09-29') THEN INCOME_FROM_DATE ELSE
: perform.getMaxMonthendDate('2004-09-29') END, CASE WHEN INCOME_TO_DATE =
: DATEADD(MONTH,1,PF_PREFERENCES.LAST_MONTHEND_DATE) THEN 1 ELSE 0 END) = 1
: AND INCOME_TO_DATE >= perform.getMaxMonthendDate('2004-09-29') AND
: INCOME_FROM_DATE '2004-10-15' then '2004-10-15' else income_to_date end)
: )+1 )

: from pf_income_adjustments INNER JOIN PF_PREFERENCES ON 1=1

: where (CASE WHEN '2004-10-15' >=
: DATEADD(MONTH,1,PF_PREFERENCES.LAST_MONTHEND_DATE) THEN 1 ELSE 0 END) = 1
: AND income_to_date >= perform.getMaxMonthendDate('2004-09-29') and
: income_from_date 0 and income_booked_date =
: DATEADD(MONTH,1,PF_PREFERENCES.LAST_MONTHEND_DATE) THEN 1 ELSE 0 END) = 1
: AND income_to_date >= perform.getMaxMonthendDate('2004-09-29') and
: income_from_date 0 and income_booked_date between
: perform.getMaxMonthendDate('2004-09-29') and '2004-10-15'

: AND PERFORM_ID IN ( SELECT DISTINCT PERFORM_ID FROM PF_ACCOUNT ACCMAST INNER
: HASH JOIN BRANCH_BG_REBATE ON ACCMAST.SOURCE_BRANCH_CODE =
: BRANCH_BG_REBATE.SOURCE_BRANCH_CODE AND GETDATE() BETWEEN
: BRANCH_BG_REBATE.FROM_MON AND BRANCH_BG_REBATE.TO_MON AND
: ACCMAST.DATA_SOURCE = 'BG' )

: ) as x group by perform_id) as inc
: on acc.perform_id = inc.perform_id

: Where isnull(acc.gl_account_id,'xxx') not like '0509%' and
: isnull(acc.gl_account_id,'xxx') not like '080%' and
: group by
: product_category_description AND group by product_name

: ) as temp group by dimension1, dimension2
: having sum(average_assets) 0 or sum(average_liabilities) 0 or
: sum(current_assets) 0 or sum(current_liabilities) 0 or sum(income) 0

Mon Mar 27, 2006 9:28 am View user's profile Send private message
Display posts from previous:    
Reply to topic    SoftTree Technologies Forum Index » 24x7 Scheduler, Event Server, Automation Suite All times are GMT - 4 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


 

 

Powered by phpBB © 2001, 2005 phpBB Group
Design by Freestyle XL / Flowers Online.