kostenloser Webspace werbefrei: lima-city


Unterschied von InnoDB und MyISAM bei MySQL ?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    girogratis

    girogratis hat kostenlosen Webspace.

    Hallo

    was ist der Unterschied zwischen InnoDB und MyISAM bei MySQL Tabelle anlegen ?

    Wenn ich eine Struktur für Kategorien und Artikel machen will,
    welcher Typ ist dann der "bessere" ... was bringt welche Vorteile?

    Welchen Typ sollte man wozu verwenden? ... Unterschiede? ... Empfehlung?
    Danke
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Der Hauptgrund, warum man InnoDB verwendet sind Transaktionen, wenn du die nicht brauchst, dann nimm lieber MyISAM, weil es dafür schneller als InooDB ist. Ich glaube weniger, dass du bei Kategorien und Artikeln Transaktionen brauchst.
  4. g****e

    reimann schrieb:
    Der Hauptgrund, warum man InnoDB verwendet sind Transaktionen

    Nö.
    InnoDB wird benutzt weil du Datensätze verknüpfen kannst, also eine referenzielle Integrität aufbauen kannst. Transactions kannst du mittels PDO oder MySQLi meineswissens auch mit MyISAM machen. Korrigiere mich wenn ich falsch liege^^
    Schau mal hier: http://web-union.de/382
    Des ist nen Beitrag von nem bekannten von mir, der Entwickelt recht lange professionell mit PHP, und des ist eigntlich ne recht schöne Zusammenfassung.

    Liebe Grüße
  5. Autor dieses Themas

    girogratis

    girogratis hat kostenlosen Webspace.

    Danke
    also MyISAM ist schneller, und keine Ahnung was Transaktionen sind
    also werde ich wohl meine Tabellen als MyISAM anlegen

    Auzug aus der MySQL Dokumentation:

    Mit MyISAM werden nicht-transaktionssichere Tabellen verwaltet. Dieser Tabellentyp kann Daten sehr schnell speichern und abrufen und bietet Volltext-Suchfähigkeiten


    Mit InnoDB verfügt MySQL über eine transaktionssichere (ACID-konforme) Speicher-Engine mit Commit-, Rollback- und Datenwiederherstellungsfähigkeiten.


    komisch nur, das mein DB-Hoster als Standard InnoDB hat
    und auch wen ich alle Tabelen im MyISAM anlege, dann steht unter der Tabellen-Liste
    in der Zusammenfassung-Zeile (3 Tabellen Gesamt) als Typ InnoDB
    bei Operationen kann ich zwar die Kollation umstellen, nicht aber den Typ
    also macht das evtl. was aus, wenn globaler Typ InnoDB ist, ich aber MyISAM Tabellen mache ?!
    oder egal ?


    und was sind Transaktionen ? ...
    nur zum Verständnis, kann jemand ein Beispiel nennen, für was man sowas braucht
    Danke

    EDIT: Danke @ggamee für den Link mit Erklärung




    Beitrag zuletzt geändert: 11.3.2012 10:21:38 von girogratis
  6. g****e

    Hmm, dann hatte reimann wohl Recht. Tut mir leid reimann^^

    Transactions sind einfach gesagt sowas wie "abgesicherte SQL Befehle".
    Stell dir mal folgendes vor: Du hast ne Art Geldsystem entwickelt, und Spieler A will zu Spieler B überweisen. Jetzt wird das Geld von Spieler A abgehoben, aber beim hinzufügen bei Spieler B geht etwas schief, das Geld verschwindet also. Bei einer Transaction gibst du alle SQL Befehle an, und nur wenn alles Klappt wird es ausgeführt. Ist irgendwo auf dem Weg ein Fehler, wie zum Beispiel, dass das Geld verschwindet, werden die vorherigen, Damit zusammenhängenden Einträge rückgängig gemacht, so als sei nie eine Überweisung versucht worden von A nach B, und das Geld ist noch da.
    Das ist jetzt ein relativ einfaches Beispiel. Wichtig wirds, wenn du mit echt sensiblen Daten handhabst.

    Ich hoffe des ist einigermaßen Klar geworden. Hauptfeature ist die Vorbeugung von Datenverlust oder falscher Datenmanipulation durch einen unerwarteten Fehler.

    Liebe Grüße
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!