in reply to SQL in perl/tk
BTW, you can rewrite "AND (gamm.PROCESS_NAME = 'SAM_Exact_Product_Search' OR gamm.APPLICATION_NAME = 'SAM_Exact_Product_Search')" as "AND 'SAM_Exact_Product_Search' IN (gamm.PROCESS_NAME, gamm.APPLICATION_NAME)"
. Get's rid of the OR and only requires the literal once.trunc(gmz.testtime) will obviate the use of any INDEX on gmz.testtime, better to use AND gmz.testtime >= to_date('09/12/2011','MM/DD/YYYY') AND gmz.testtime < to_date('09/16/2011','MM/DD/YYYY')
IIUC, i don't think you need to specify TO_CHAR in the GROUP BY clause.
For formatting the query, so people can read it, try:
SELECT
gamm.PROCESS_NAME,
GAMM.APPLICATION_NAME,
TO_CHAR(TRUNC(gmz.testtime - 7 / 24, 'DD'),'MM/DD/YYYY')
Fiscal_Day,
ROUND
(
AVG
(
DECODE(total_response_time, 0, NULL, total_response_time)
/ DECODE (total_page_count,0, 1,total_page_count)
)
/ 1000,
2
) Average_Response_time
FROM
portal_gomez_bb_load gmz,
GOMEZ_APP_MAPPING_MASTER gamm
WHERE
gmz.monitor_id = 3805260
AND 'SAM_Exact_Product_Search' IN (gamm.PROCESS_NAME, gamm.APPLICATION_NAME)
AND gmz.testtime >= to_date('09/12/2011','MM/DD/YYYY')
AND gmz.testtime < to_date('09/16/2011','MM/DD/YYYY')
AND success_flag = 0
GROUP BY
gamm.PROCESS_NAME,
GAMM.APPLICATION_NAME,
TRUNC (gmz.testtime - 7 / 24, 'DD');
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: SQL in perl/tk
by vsurend (Novice) on Jan 16, 2012 at 06:33 UTC | |
by marto (Cardinal) on Jan 16, 2012 at 10:43 UTC | |
by vsurend (Novice) on Jan 16, 2012 at 11:12 UTC | |
by marto (Cardinal) on Jan 16, 2012 at 11:24 UTC | |
by Anonymous Monk on Jan 16, 2012 at 11:21 UTC | |
by chacham (Prior) on Jan 16, 2012 at 11:45 UTC | |
by vsurend (Novice) on Jan 17, 2012 at 10:16 UTC |