bin gerade an einer performancemessung meines reports. Leider sticht ein select ins auge, der bisher unscheinbar schien:
SELECT * FROM eew_items
APPENDING CORRESPONDING FIELDS OF TABLE lt_items
FOR ALL ENTRIES IN pt_itm
WHERE guid = pt_itm-guid
Dieser select soll alle details zu bestimmten items in die tabelle lt_items packen. Die tabelle pt_item hat eine spalte. Darin sind die GUIDS aller zu selektierenden items. Die pt_itm tabelle hat in meiner Messung 150 guids. Der select dauert aber fast 50 Sekunden.
Ich vermute hier ein Konfigurationsproblem, da wir für die performancemessung ein eigenes system haben - sonst klappts.
Kann mir jemand einen Tip geben welche Parameter ich in der Konfiguration vergleichen muß? sind evt irgendwelche buffer zu klein?
Zuerst: Bist Du *sicher*, dass da 150 GUID's drin sind? Hast Du das im Debugger verfolgt? Wenn PT_ITM leer ist werden alle Einträge aus EEW_ITEMS selektiert, das könnte länger dauern.
Ansonsten solltest Du mal über den Report RSPFPAR folgende Parameter prüfen:
rsdb/prefer_union_all
rsdb/prefer_in_itab_opt
rsdb/max_blocking_factor
rsdb/max_in_blocking_factor
rsdb/prefer_fix_blocking
rsdb/min_blocking_factor
rsdb/min_in_blocking_factor
Solltest Du Oracle als DB einsetzen kann ich Dir die folgenden Hinweise ans Herz legen:
48230
124361
618868
766349
ich kenn' die eew-Tabelle leider nicht, aber manchmal liegt es daran, daß es in einem System einen Index gibt, der die Selektion beschleunigt.
Bei Performance-Einbruch im anderen System gibt es den Index nicht oder er ist nicht aktiv.
War nur mal so 'ne Idee, weil mir das mit anderen Tabellen auch schon passiert ist.