none
Indizes erstellen RRS feed

  • Frage

  • Hi,

    wir generieren immer wieder neu ca. 100mio Datensätze für eine Tabelle. Die Frage die sich uns stellt ist die, was schneller und konstruktiver ist:

    Szenario A:

    1. Indizes sind vorhanden
    2. Tabelle leeren
    3. Daten werden komplett neu geladen

    Szenario B:

    1. Indizes sind vorhanden
    2. Tabelle leeren
    3. Indizes werden gelöscht <<---
    4. Daten werden komplett neu geladen
    5. Indizies werden neu aufgebaut <<---

    Das laden der Daten in eine Tabelle ohne Indizes ist sehr viel schneller, doch wie lange dauert es, danach die Indizes wieder aufzubauen?


    Gruß Hipp

    Mittwoch, 9. Oktober 2019 12:28

Antworten

Alle Antworten

  • Szenario B ist definitiv die schnellere Lösung und hat den Vorteil, das die Indizes alle unfragmentiert sind, weil eben neu erstellt.

    Wie werden die Daten gelöscht, TRUNCATE oder DELETE? Bei letzterem würde ich noch eine Kleinigkeit in der Reihenfolge ändern, nämlich Schritt 3 vor 2:

    1. Indizes sind vorhanden
    2. Indizes werden gelöscht <<---
    3. Tabelle leeren
    4. Daten werden komplett neu geladen
    5. Indizies werden neu aufgebaut <<---

    sonst würde der Index beim Löschen auch permanent aktualisiert.


    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    Mittwoch, 9. Oktober 2019 12:52
  • TRUNCATE TABLE ...

    Gruß Hipp

    Mittwoch, 9. Oktober 2019 13:27
  • Dann ist die Reihenfolge egal, ein TRUNCATE entfernt nur die Point auf die Daten und Index-Seiten.

    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    • Als Antwort markiert Hipp1010 Mittwoch, 9. Oktober 2019 13:52
    Mittwoch, 9. Oktober 2019 13:38