Frage

Hallo, ich bin mit Mysql 5.0.x

Ich habe gerade eine Menge der Tabellen von MyISAM auf InnoDB geändert

Mit den MyISAM-Tabellen es über die 1 Minute unsere Datenbank installieren Mit dem InnoDB dauert es etwa 15 Minuten die gleiche Datenbank installieren

Warum die InnoDB so lange dauern?

Was kann ich tun, um Dinge zu beschleunigen?

Die Datenbank installieren führt die folgenden Schritte

1) Tropfen das Schema

2) Erstellen Sie das Schema

3) Erstellen von Tabellen

4) Erstellen Sie gespeicherte Prozeduren

5) Legen Sie Standarddaten

6) Einfügen von Daten über gespeicherte Prozedur

EDIT:

Das Einfügen von Standarddaten nimmt die meiste Zeit

War es hilfreich?

Lösung

ändern Sie die Daten einfügen Schritt eine Transaktion zu Beginn beginnen und es am Ende zu begehen. Sie werden eine Verbesserung erhalten, das garantiere ich es. (Wenn Sie eine Menge von Daten haben, möchten Sie vielleicht die Transaktion brechen bis zu pro Tabelle).

Wenn Sie Anwendungstransaktionen gar nicht verwenden, dann sollten Sie die Parameter um innodb_flush_log_at_trx_commit auf 2 gesetzt Dies Sie viel Leistung geben zurück, weil Sie mit ziemlicher Sicherheit aktiviert haben, werden AUTO_COMMIT und dies erzeugt viel mehr Transaktionen als InnoDB-Standard Parameter konfiguriert sind für. Diese Einstellung hält es unnötig, den Datenträger-Puffer Spülung auf jedem Commit.

Andere Tipps

15 Minuten scheint nicht übertrieben zu mir. Schließlich ist es eine einmalige Kosten.

Ich bin nicht sicher, aber ich würde, dass ein Teil der Erklärung vorstellen, die referentielle Integrität ist nicht frei. InnoDB hat mehr Arbeit zu tun, um zu gewährleisten, so wäre es natürlich mehr Zeit in Anspruch nehmen.

Vielleicht ist Ihr Skript geändert werden muss, Einschränkungen hinzuzufügen, nachdem die Tabellen erstellt werden.

Wie duffymo sagte, deaktivieren Sie Ihre Einschränkungen (Indizes und foreing / Primärschlüssel), bevor die Daten eingefügt wird.

Vielleicht sollten Sie einige Indizes, bevor die über gespeicherte Prozedur, wenn seine Verwendung eingefügten Daten wiederherstellen viele wählen Aussagen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top