View Issue Details

IDProjectCategoryView StatusLast Update
0000686JEDI VCSServerpublic2005-06-13 16:35
ReporterdorsAssigned ToTHuber 
PrioritynoneSeveritytweakReproducibilityalways
Status closedResolutionfixed 
Product Version 
Target VersionFixed in Version2.40 Stable (Server) 
Summary0000686: Tune GET_REVISION_LIST_BY_ID (for Oracle at least)
DescriptionI just found a strange way of tuning the GET_REVISION_LIST_BY_ID ServerObject in the SrvOBJModules unit. The original lines (line 5614 of the latest source available from freevcs.de) are as follows:

        SQL.Add('AND modules.moduleid = pjmodule.moduleid');
        SQL.Add('AND revision.moduleid = modules.moduleid');

I turned them into:

        SQL.Add('AND modules.moduleid = :moduleid');
        SQL.Add('AND revision.moduleid = :moduleid');

Normally, I'd expect that to show no difference, however, the response time for our Oracle version went down from over 60 secs to below 1 sec in our testcase!
Additional InformationFurther investigation showed that the culprit is the left outer join; it looks like Oracle isn't optimizing here as much as it could do. Also, it looks like "AND modules.moduleid = :moduleid" is enough already. I don't suspect that this change would interfere with other DBMS's, so I will add this for all. If I'm not hearing anything against it, of course.
TagsNo tags attached.
Fix in JVCS version
Releasedocumentation

Relationships

child of 0002361 closedTHuber Releaseinfo: 2.40 server issues 

Activities

THuber

2003-03-22 03:40

developer   ~0001842

Comment for FB1.5b4:
original SQL is slightly faster as the :moduleid.
This was tested with the necessary sql92 change.
From my POV I would like to stay with original sql as default and tune this only for the oracle port.

THuber

2003-04-04 14:45

developer   ~0001914

change done only in oracle port, might also apply to other dbms which might be changed by server port maintainers.

Issue History

Date Modified Username Field Change
2005-01-15 05:45 THuber Relationship added child of 0002361
2005-06-13 16:35 THuber Status resolved => closed
2005-06-13 16:35 THuber Fixed in Version => 2.40 Stable (Server)