| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> c.d.o.misc -> Crude SQL - recommend improvement
I managed to get this rather gruesome looking view to work, but am concerned
about performance. I ran explain plan and see a bunch of full table scans.
I've got everything indexed but don't know what else to do to improve it.
None of the tables is large. Events_tbl is currently the largest by far and
it has only about 25,000 rows. Evals_tbl will grow quickly, eventually it
will be the largest.
Please provide constructive criticism.
CREATE OR REPLACE VIEW ESS.Evals_view AS
SELECT W.Weekstart || ',' || W.Year AS Sessiondate,
V.SessionID,
session_hash(e.eventid,e.weekid) AS sessID,
A.ActivityLong AS CourseName, A.CourseNumber AS CourseCode, E.Location, I.InstructorFirstName || ' ' || I.InstructorName AS Instructor,COUNT(V.sessionID) AS EvalCount,
E.WeekID = W.WeekID AND E.ActivityID=A.ActivityID AND E.InstructorID=I.InstructorID AND A.ActivityCode=1 AND I.InstructorID<>6 AND E.Task_ IS NULL AND
Execution Plan
0 SELECT STATEMENT Optimizer=CHOOSE (Cost=332 Card=6281 Bytes=
866778)
1 0 VIEW OF 'EVALS_VIEW' (Cost=332 Card=6281 Bytes=866778)
2 1 SORT (GROUP BY) (Cost=332 Card=6281 Bytes=577852)
3 2 HASH JOIN (Cost=114 Card=6281 Bytes=577852)
4 3 TABLE ACCESS (FULL) OF 'ACTIVITIES_TBL' (Cost=1 Card
=214 Bytes=7062)
5 3 HASH JOIN (Cost=99 Card=6281 Bytes=370579)
6 5 TABLE ACCESS (FULL) OF 'WEEKS_TBL' (Cost=1 Card=14
32 Bytes=18616)
7 5 HASH JOIN (Cost=69 Card=6281 Bytes=288926)
8 7 TABLE ACCESS (FULL) OF 'INSTRUCTORS_TBL' (Cost=1
Card=56 Bytes=840)
9 7 HASH JOIN (OUTER) (Cost=62 Card=8637 Bytes=267747)
10 9 TABLE ACCESS (FULL) OF 'EVENTS_TBL' (Cost=27 C
ard=8637 Bytes=172740)
11 9 TABLE ACCESS (FULL) OF 'EVALS_TBL' (Cost=7 Car
d=972 Bytes=10692)
Statistics
16 recursive calls
41 db block gets
236 consistent gets
212 physical reads
0 redo size
509523 bytes sent via SQL*Net to client
32837 bytes received via SQL*Net from client
294 SQL*Net roundtrips to/from client
0 sorts (memory)
1 sorts (disk)
4381 rows processed
SQL> Received on Fri Jan 14 2005 - 02:31:20 CST
![]() |
![]() |