Einzelnen Beitrag anzeigen

jaevencooler

Registriert seit: 8. Sep 2005
Ort: Friedrichshafen
41 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

AW: Felder aus meheren Datensätzen verketten - langsam

  Alt 11. Aug 2011, 09:20
Moin, Moin,
ich war mal so frei das auf einer Oracle nach zu bauen, sieht dann so aus :

Delphi-Quellcode:
CREATE OR REPLACE FUNCTION CREATE_SELECTION_CHAIN ( ADDRESSNO in varchar2)

RETURN varchar2 AS
 SEL varchar2(500); -- oder größer ??

 cursor cTestCursor is
   select property_NAME from
   property_value_combination
   where address_no = addressno
     and contact_no is null;

  tTestCursor cTestCursor%RowType;


BEGIN
  sel := '';

  for tTestCursor in cTestCursor
  loop
    sel := sel || ';' || tTestCursor.property_NAME;

  end loop;

  return sel;

  exception
    when others then
      return 'Fehler';
END;
ich weiß, ist kein delphi Quellcode, ist PL/SQL.....

braucht für 10.000 zufällig generierte Datensätze ca. 1,5 Sekunden, abhängig von der Länge
der String die concatiert werden. (Dazu muss dann auch die Variable "sel" vergrößert werden)

Ich gehe mal davon aus das dein SQL schlecht funktioniert, vielleicht zieht der Index nicht ?
(eventuell machst du jedes Mal einen Full Table Scan)

Ich würde wirklich mal einen SQL Plan erstellen, da kannst Du sehen was langsam läuft.

Beste Grüße
Michael
Michael
Wissen ist Macht, nichts wissen macht auch nichts.
  Mit Zitat antworten Zitat