tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von saftmeister
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
353
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Thomasio Thomasio ist offline Mitglied Platin
    Registriert seit
    Aug 2006
    Beiträge
    685
    Ich habe vom Thema bis jetzt überhaupt keine Ahnung, also habe ich ganz unbedarft mal Google zum Thema befragt, aber da finde ich nur Widersprüche.
    Von 5 Jahre alten Beiträgen auf der MySQL Seite die besagen, MyISAM unterstützt Rollback überhaupt nicht, samt Hinweis es sei ab Version 5.2 geplant gewesen aber wieder verworfen worden, bis zu Anleitungen, wie man eine Rollback Funktion selber machen kann, ohne interne Funktionen von MySQL zu bemühen.
    Kurz gesagt, nach Google schaue ich noch dümmer als vorher.

    Was ich gerne machen würde sieht etwa so aus:

    Eine DB mit ca. 20 Tabellen, alle MyISAM.
    Ein Script liest aus 3 davon und schreibt in 3 Andere, inkl. LOCK TABLES.
    Dieses Script ist recht gross und es liest und schreibt so viele Einträge, dass es ca. 10 Sekunden braucht.
    Jetzt würde ich gerne vorher den Zustand der 3 Schreib-Tabellen speichern, und bei Fehler dahin zurück gehen, Rollback halt.
    Was ich dabei nicht verstehe ist:

    1) Geht das überhaupt mit MyISAM und wenn ja, dann wie?
    2) Wie funktioniert das grundsätzlich? Wenn die Verbindung zur DB mitten im Script verloren geht, kann ich ja via PHP nichts mehr machen, macht MySQL dann den Rollback automatisch?
     

  2. #2
    Avatar von Dr Dau
    Dr Dau Dr Dau ist offline ich wisch hier durch
    Registriert seit
    Feb 2005
    Ort
    hinterm Mond gleich Links
    Beiträge
    6.160
    Blog-Einträge
    4
    Hallo!

    Zitat Zitat von MySQL
    Wenn mysqld eine Speicher-Engine nicht unterstützt, wird eine MyISAM-Tabelle angelegt, und diese ist nicht transaktionssicher.
    http://dev.mysql.com/doc/refman/5.1/...al-tables.html

    Oder auch neuer, dafür aber auf Englisch:
    http://dev.mysql.com/doc/refman/5.6/...al-tables.html

    Gruss Dr Dau
     
    Schri-Schra-Schrödi *g*
    mehrspaltiges/zeiliges Seitenlayout mit DIV's und CSS
    Dinge, die mit Tabellen besser klappen als mit CSS
    Ausgabe von Datum/Zeit unabhängig von der Server Zeitzone [php]
    Meine Links zum Thema Linux (Last update: 29.10.2011)
    Kein Busen ist so flach wie das Niveau dieser Party!
    ----
    Alte Weisheit: wer uns in den Arsch kriecht wird beschissen!
    ----
    Ich habe 3 Kinder und kein Geld!
    Warum kann ich nicht keine Kinder haben und 3 Geld?! (Homer Jay Simpson)

  3. #3
    Thomasio Thomasio ist offline Mitglied Platin
    Registriert seit
    Aug 2006
    Beiträge
    685
    Vielen Dank für den Link.
    Soviel ich verstanden habe unterstützt MyISAM also auch in V5.6 kein Rollback.

    Wenn ich jetzt noch wüsste, warum ich mich damals für MyISAM entschieden habe.
    Ich kann mich dumpf erinnern, dass mit InnoDB irgendwas nicht ging, was ich brauche, aber das ist lange her.

    Anders gefragt, gibt es irgendwo eine Liste der Vor- und Nachteile der verschiedenen Engines?
     

  4. #4
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.521
    InnoDB kann keine Volltext-Suche. Das ist meistens der Grund, warum man MyISAM verwendet.

    EDIT: Es gibt eine allgemeine Seite über alle Storage-Engines, die jemals in MySQL verfügbar waren oder noch sind:

    http://dev.mysql.com/doc/refman/5.0/...e-engines.html

    Wenn man sich eine von denen raus pickt, kann man die Besonderheiten der Engine betrachten. Bspw. ist hier die Besonderheiten-Seite (Einschränkungen) für die mittlerweile nicht mehr unterstützt BDB: http://dev.mysql.com/doc/refman/5.0/...trictions.html
    Geändert von saftmeister (26.11.11 um 14:12 Uhr)
    Thomasio bedankt sich. 
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  5. #5
    Thomasio Thomasio ist offline Mitglied Platin
    Registriert seit
    Aug 2006
    Beiträge
    685
    Treffer, DAS wars, Volltextsuche.
    Vielen Dank für die Links, da mache ich mich gleich mal schlau.
     

Ähnliche Themen

  1. MySQL-Neuling ... MyISAM
    Von Fielu im Forum Relationale Datenbanksysteme
    Antworten: 3
    Letzter Beitrag: 11.03.09, 20:32
  2. Commit und Rollback
    Von zuckerbrini im Forum Relationale Datenbanksysteme
    Antworten: 3
    Letzter Beitrag: 19.11.08, 13:31
  3. Rollback mit CMT?
    Von tobiaft im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 6
    Letzter Beitrag: 20.06.06, 19:21
  4. automatisches Rollback
    Von Greenhorn_80 im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 3
    Letzter Beitrag: 10.05.05, 21:50
  5. Fremdschlüssel nutzen. InnoDB <--> MyISAM
    Von gondor im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 11.03.05, 20:22