Unterschied von InnoDB und MyISAM bei MySQL ?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abrufen
anlegen
artikel
befehl
beispiel
dank
dokumentation
geld
globaler typ
hauptgrund
kategorie
operation
relativ einfaches beispiel
spieler
tabelle
transaktion
typ
unterschied
url
zusammenfassung
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
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.
-
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 -
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 -
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage