Announcement

Collapse
No announcement yet.

löschen gosser daten dauert sehr lange

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • löschen gosser daten dauert sehr lange

    Hallo,

    habe eine DB die grössere datenmengen beinhaltet, es geht hauptsätzlich um 2 tabellen die bereinigt werden sollen. die kopf-tabelle hat ca 14mio und die position-tabelle ca 100Mio einträge. die beiden sind per cascade "verbunden".

    woran kann es liegen dass wenn man einen delete ausführt und zu löschenden kopf-zeilen auf ca 10000 einschränk, und diese prozedur n mal wiederholt, geht es recht schnell (5-10s pro ausführung). wenn man jedoch eine grössere datenmenge auf einmal löschen will, sagen wir mal faktor 5 kommt der stmt gar nicht erst zurück da das timeout überschritten wird oder es dauert euSEHRst lange.

    schätze mal es wird meherer möglichkeiten geben, wäre schon mit ner kurzen liste von ideen zufriden, damit ich weis wo ich anfangen soll...

  • #2
    Hi !

    kannst du ggf. mal von beiden Cases ein Execution-Plan posten.
    Ich gehe davon aus dass Oracle beim zweiten Case sich für einen Fulltablescan entscheidet.
    Hingegen im ersten schnelleren Fall ein Indexzugriff passiert.

    Hier kann man zwei Lösungsmöglichkeiten probieren:
    1: Sicherstellen dass aktuelle Statistiken vorhanden sind (dbms_stats) (ggf. mit Histogrammen)
    2: Oracle Hints verwenden, um Oracle zu zwingen einen Index zu verwenden.

    cu morlogg

    Comment


    • #3
      Hallo,

      vielleicht hilft Dir auch eine Google-Suche nach: oracle delete nologging weiter.

      mfg

      Comment


      • #4
        Hallo morlogg,

        danke schon mal für Deine Hinweise, zu Ausführungsplänen:

        hab zunächst mal (siehe Anhang) den ausführungsplan erstellt, in beiden Fällen sieht es nicht wirklich anders. Als nächstes hab den "kleinen" stmt 5 (löschen von 2500 zeilen) mal abesetzt und statistiken ausgegeben. Die ersten 3 ausführungen haben 45-60 sec gebraucht die letzten zwei ca 20 sec. Anschliessend den "grossen" (10000 Zeilen) abgesetzt: diesen musste nach 3/4h abbrechen. Seit dem dauert auch ein "kleiner" sehr lange.

        So wie die ausführungspläne ausschauen bringt das mit dem index hint nicht viel.

        Was das dbms_stats angeht: werd damit demnächst auseinandersetzen, hab noch nicht wirklich den plan was da geht

        @o-sarusan:
        ist mir zu riskant mit redologs herumzuspielen

        mfg
        Attached Files

        Comment

        Working...
        X