Page 1 of 1

Datenbank in InnoDB?

PostPosted: 03. July 2011 10:44
by smisonline
Hallo,

ich habe bisher auf einem anderen Rechenr entwickelt und dabei immer myisam Tabellen verwendet mit utf8-unicode_ci als Koloation

Nach einem Umstieg auf einen anderen Rechner mit Windows 64Bit, falls das irgendeien Rolle spiel, ist mir erst jetzt aufgefallen, das die neuen tabellen in InnoDb statt myisam angelegt werden mit swedish dingsbums Koloation.

Ich habe jetzt die Tabellen per Hand angepasst, abe runten steht als Werte für die ganze Datenbank:

95 Tabellen Gesamt 3,125 InnoDB utf8_unicode_ci 506,2 KiB 0 Bytes


DIe Koloation konnte ich, wie ihr seht noch ändern, aber wie kann ich den Typ InnoDB ändern? Worauf wirkt der sich aus? Ich habe auch shcon versucht die Datenbank neu anzulegen und die tabellen rein zu kopieren, aber das hat auch nichts gebracht. Im Dump steht auch nix von eienr InnoDB Definition.

Was kann das sein? Wie wirkt sich dieser Unetrschied eventuell aus?

Ich habe das erst bemerkt, nachdem die Datenbank öfters Tabellen hat, die repariert werden müssen. Speziell die tabellen wo viel Zugriff drauf ist wie eine chattabelle.

Was könnte das sein?

Re: Datenbank in InnoDB?

PostPosted: 03. July 2011 12:31
by Altrea
Große Unterschiede:
- InnoDB kann Transaktionen
- InnoDB kann referenzielle Integrität (Fremdschlüssel mit Plausibilitätsabfrage)
- InnoDB kann (noch) KEINE Volltext Indizes
- InnoDB ist ein klein wenig langsamer als MyISAM

Und jetzt wo Oracle Sun übernommen hat wurde InnoDB (dessen Firma hat Oracle bereits 2005 geschluckt) zur Standardengine von MySQL.

In den meisten Fällen sollte es dir also garnicht auffallen, ob du InnoDB oder MyISAM benutzt.

Möchtest du die Standardengine dennoch komplett auf MyISAM umstellen, musst du das einmal in der MySQL Konfigurationsdatei my.ini tun (Wert default-storage-engine)

Re: Datenbank in InnoDB?

PostPosted: 03. July 2011 12:47
by smisonline
Hm,

als ich das letztemal mich mit InnoDB beschäftigt habe, war ein Problem das Backupen und Einspielen von DB Beständen.

Ist das noch so, das aufgrundder Transaktionssicherheit oder so, man das nicht so einfach machen kann?

Re: Datenbank in InnoDB?

PostPosted: 03. July 2011 15:33
by Altrea
Beim Backup im laufenden Betrieb kann es bei Datenbanken mit vielen Transaktionen zu Problemen kommen. Ein offline Backup ist aber immer möglich.
Beim Einspielen kann es zu Problemen mit referenzieller Integrität kommen, wenn die Datenbanktabellen nicht in der richtigen Reihenfolge wiedereingespielt werden.

Re: Datenbank in InnoDB?

PostPosted: 03. July 2011 15:57
by smisonline
Also muss man die DB immer runterfahren? Hm, wir haben ein Programm das stündlich ein Backup fährt, da wäre das schon ein Problem.

Wenn ich ein Komplettbackup mache, wären dann die Tabellen automatisch in der richtigen Reihenfolge?

Re: Datenbank in InnoDB?

PostPosted: 03. July 2011 16:15
by Altrea
smisonline wrote:Also muss man die DB immer runterfahren? Hm, wir haben ein Programm das stündlich ein Backup fährt, da wäre das schon ein Problem.

Dann ist Replikation vielleicht eine Lösung für dich http://dev.mysql.com/doc/refman/5.5/en/ ... tions.html

smisonline wrote:Wenn ich ein Komplettbackup mache, wären dann die Tabellen automatisch in der richtigen Reihenfolge?

Das kommt auf das Tool an, das du verwendest. Liest es die Tabellen Alphabetisch aus ohne Rücksicht auf Referenzen, dann eher nicht.