Fremdschlüssel - MySQL- InnoDB: Erfahrungen?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Fremdschlüssel - MySQL- InnoDB: Erfahrungen?

    Hallo,

    ich möchte eine datenbankbasierte Galerie schreiben und stehe momentan vor dem Design der Datenbank.
    Der Grundaufbau ist folgender: Es gibt Bilder (Picture), Alben (Album) und Galerien (Galery). Jedes Element ist eine php-Klasse und wird auch mit den Eigenschaften in der DB so abgebildet (für die dauerhafte Speicherung, ich hoffe das macht man so :) ).
    Nun ist es ja so, dass jedes Bild zu einem Album gehört und jedes Album zu einer Galerie. Dadurch lässt sich eine Art Baumhierarchie aufbauen.
    Genau das (also die Beziehungen) will ich auch in der DB abbilden. Ich erinnere mich daran, dass man für diesen Zweck Fremdschlüssel ganz gut nutzen könnte.
    Hab also mal ein bisschen gelesen und festgestellt, dass es bei MySQL nur mit dem Tabellentyp InnoDB geht.

    Nun meine Fragen:
    Hat InnoDB Nachteile? Wie genau mach ich das mit den Fremdschlüsseln? Hat da jemand Erfahrung oder kennt eine besses Möglichkeit?

    Die DB sollte klein und schnell aufgebaut sein, sodass der User möglichst kurze Ladezeiten genießt. (Das Frontend wird mit PHP, voraussichtlich auch AJAX programmiert)

    Danke im voraus

    cya
  • der Vorteil an Fremdschlüsseln ist, dass du dich nach der Einrichtung nicht mehr um die Konsistenz kümmern musst.

    Hast du also eine Tabelle "user" und eine Tabelle "userdetails" mit einer Fremdschlüsselbeziehung, kannst du eine Löschung von user nach userdetails übernehmen.

    Beim normalen MySQL Typ müsstest du dich dann um die Löschung in beiden Tabellen kümmern.
    Auch hat InnoDB den Vorteil, dass es während eines Updates (der ja eigentlich nie mehr als ein paar MS dauert) nicht die ganze Tabelle sperrt, sondern die den einen Datensatz. Das sind Kleinigkeiten.

    MyISAM hat den Vorteil, dass es Volltext-Indexe unterstützt und hier wesentlich schneller ist. Alles hat seine Vor- und Nachteile. Ich glaube gerade für Daten die sich nicht allzu häufig ändern ist MyISAM besser. Aber such mal bei Google. Da gibts auch genug Lesestoff.