I started new role yesterday and trying to run reports is nightmare. Using Crystal XI on Oracle call center system -it has about 1.5 mill records over last 7 years Had quick and mean quick review of reports design . They all run from linked tables of about 4 or 5 (generally the same ones) using left outer joins from a main 'call' table, and have some selection criteria
Below is typical of what Ive found:
SELECT DISTINCT "FSCFAU"."FSCFAU_CREATE_DATE", "FSLOCA"."FSLOCA_NAME",
"FSLOCA"."FSLOCA_ADDR_1", "FSLOCA"."FSLOCA_ADDR_2",
"FSLOCA"."FSLOCA_ADDR_3"
FROM ("OPTIM"."FSCALL" "FSCALL" LEFT OUTER JOIN "OPTIM"."FSCFAU"
"FSCFAU" ON ("FSCALL"."FSCALL_CALL_PREFIX"="FSCFAU"."FSCFAU_CALL_PREFIX")
AND ("FSCALL"."FSCALL_CALL_SUFFIX"="FSCFAU"."FSCFAU_CALL_SUFFIX")) LEFT
OUTER JOIN "OPTIM"."FSLOCA" "FSLOCA" ON
"FSCALL"."FSCALL_LOCATION"="FSLOCA"."FSLOCA_CODE"
WHERE ("FSCFAU"."FSCFAU_CREATE_DATE">=TO_DATE ('01-01-2001 00:00:00',
'DD-MM-YYYY HH24:MI:SS') AND "FSCFAU"."FSCFAU_CREATE_DATE"<TO_DATE
('31-05-2007 00:00:01', 'DD-MM-YYYY HH24:MI:SS'))
Grouping on server is not turned on, indexes for server for speed is.
When running reports It seems to take about 30 mins while is says accessing database in bottom left corner, once it starts reading records it takes only a min or so
How can I speed things up? This is going to be a nightmare to write and test reports. My feeling is that maybe the Oracle dba should write a some views which can run daily or hourly depending on report required and I write my reports on those views. Any thoughts on speed tips are required and welcome
Below is typical of what Ive found:
SELECT DISTINCT "FSCFAU"."FSCFAU_CREATE_DATE", "FSLOCA"."FSLOCA_NAME",
"FSLOCA"."FSLOCA_ADDR_1", "FSLOCA"."FSLOCA_ADDR_2",
"FSLOCA"."FSLOCA_ADDR_3"
FROM ("OPTIM"."FSCALL" "FSCALL" LEFT OUTER JOIN "OPTIM"."FSCFAU"
"FSCFAU" ON ("FSCALL"."FSCALL_CALL_PREFIX"="FSCFAU"."FSCFAU_CALL_PREFIX")
AND ("FSCALL"."FSCALL_CALL_SUFFIX"="FSCFAU"."FSCFAU_CALL_SUFFIX")) LEFT
OUTER JOIN "OPTIM"."FSLOCA" "FSLOCA" ON
"FSCALL"."FSCALL_LOCATION"="FSLOCA"."FSLOCA_CODE"
WHERE ("FSCFAU"."FSCFAU_CREATE_DATE">=TO_DATE ('01-01-2001 00:00:00',
'DD-MM-YYYY HH24:MI:SS') AND "FSCFAU"."FSCFAU_CREATE_DATE"<TO_DATE
('31-05-2007 00:00:01', 'DD-MM-YYYY HH24:MI:SS'))
Grouping on server is not turned on, indexes for server for speed is.
When running reports It seems to take about 30 mins while is says accessing database in bottom left corner, once it starts reading records it takes only a min or so
How can I speed things up? This is going to be a nightmare to write and test reports. My feeling is that maybe the Oracle dba should write a some views which can run daily or hourly depending on report required and I write my reports on those views. Any thoughts on speed tips are required and welcome