Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] innodb / myisam - Speicherort Tabellen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] innodb / myisam - Speicherort Tabellen

    Hi,

    sehe ich das richtig das die innodb sämtliche inhalte von tabellen in einer datei "ibdata1" ablegt? (myisam wiederum jede einzelene tabelle in .MYM dateien) ??

    ist das nicht extrem langsam?
    bei unserem "großen" projekt laufen nicht soviele datensätze auf (vielleicht max. 1millionen im jahr), beim jetzigen sinds deutlich mehr.. (im moment ist die datei 4gb groß )

    lohnt es sich innodb_file_per_table = 1 zu setzten (wenn die datei mal 10gb übersteigt, was dann?

    und.. kann ich myisam und innodb datenbank nebeneinander auf einem mysql server betreiben? (zwecks transaktion.. unsere eigentl ist myisam..(also keine transaktionen)


    danke für eure hilfe

    grüße
    taurus


  • #2
    Zitat von taurus Beitrag anzeigen
    Hi,

    sehe ich das richtig das die innodb sämtliche inhalte von tabellen in einer datei "ibdata1" ablegt? (myisam wiederum jede einzelene tabelle in .MYM dateien) ??

    ist das nicht extrem langsam?
    Meiner Meinung nach ist es deutlich besser alles in einer Datei zu halten, als in vielen wie MyIsam. MySQL braucht nur die eine Datei zu öffnen und bearbeiten, das Filesystem wird dann nicht mehr als nötig genutzt und kostet somit auch keine Zeit. Viele Datenbanken legen sogenannte Tablespace an, eine große Datei in der alle Tabellen, Indices, View etc. verwalten werden.

    Das Auftrennen in mehrere Files wäre nur von Vorteil, wenn die Files auf verschiedenen physikalischen Platten liegen. Dann kann ein paralleler Zugriff der Hardware auf die Daten erfolgen.

    Grüße
    Thomas

    Kommentar


    • #3
      Also erstmal ist es nicht langsam, kennt man etwas die Geschichte von Datenbanken, weiß man auch, dass früher Datenbanken eigene Partitionen hatten, auf denen keine Betriebssystempartionen waren, sondern die Datenbank direkt rein schrieb. Dies wurde damals so gemacht, weil es einfach performanter war, dies hat sich aber durch die heutigen Dateisysteme relativiert.

      Ansonsten spielt es rein in Punkto Performance keine Rollen, ob nun pro Tabelle eine Datei angelegt wird, oder nicht, sondern es spielt eher eine Rolle, was mit der Datenbank gemacht werden soll, und wie die Datenbankengine damit arbeitet/arbeiten kann.

      Was nach 10 GB passiert, nun in der Regel sollte einfach die nächste Datei angelegt (bei einigen werden auch gleich 3 angelegt und/oder sofort der gesamte Platz belegt; MaxDB war wohl so ein Kandidat). Bei MySQL wäre es dann die ibdata2. Mehr zu Konfiguration von InnoDB gibt es hier: MySQL :: MySQL 5.1 Referenzhandbuch :: 14.2.3 Konfiguration



      Zitat von taurus Beitrag anzeigen
      [...]
      und.. kann ich myisam und innodb datenbank nebeneinander auf einem mysql server betreiben? (zwecks transaktion.. unsere eigentl ist myisam..(also keine transaktionen) [...]
      Ja, sowohl pro Datenbank, als auch pro Tabellen innerhalb einer Datenbank.


      Meine Datenbank
      • tabelle1 (myisam)
      • tabelle2 (myisam)
      • tabelle3 (innodb)
      • tabelle4 (memory)
      • tabelle5 (myisam)
      • tabelle6 (innodb)

      Kommentar


      • #4
        ales klar.. vielen dank für die infos

        Kommentar

        Lädt...
        X