Fragen zum Tabellen Typ/Engine

Jan-Frederik Stieler

Monsterator
Moderator
Hallo,
ich hab grad eine DB und die erste Tabelle per hand erstellt.
Der Code für das erstellen war
SQL:
CREATE TABLE db_app.users
(
    UserID      INT PRIMARY KEY AUTO_INCREMENT,
    Username    VARCHAR(150) NOT NULL,
    Password    VARCHAR(150),
    ver_code    VARCHAR(150),
    verified    TINYINT DEFAULT 0
)
ENGINE = MYISAM;
Nun seh ich in PHPmyadmin das die Tabelle MyISAM hat aber die DB wird als INNODB ausgezeichnet.
Die Engine/Typ wird doch, soweit ich weiß, nur für Tabellen gesetzt nicht aber für die gesamte Datenbank.
Was bedeutet dieses InnoDB dann?

Die andere Frage die mich etwas rumtreibt ist wie beurteile ich welchen Enginetyp ich für meineTabelle verwenden sollte?

Grüße
 

Anhänge

  • Bildschirmfoto 2015-04-23 um 17.21.56.jpg
    Bildschirmfoto 2015-04-23 um 17.21.56.jpg
    41,6 KB · Aufrufe: 8
Hi

die DB-weite Einstellung ist nur der Defaultwert für neue Tabellen, wenn man nichts Spezielles angibt.

Und die verschiedenen Engines haben einfach andere Möglichkeiten/Einschränkunen.
zB. ist MyISAM etwas schneller als InnoDB, dafür kann InnoDB zB. Transaktionen, und
beim Löschen von Einträgen automatisches Mitlöschen von dazugehörenden Sachen
in anderen Tabelle über Fremdschlüssel.

Etwas mehr Details: http://stackoverflow.com/questions/15678406/when-to-use-myisam-and-innodb
Noch mehr: http://dev.mysql.com/doc/refman/5.7/en/storage-engines.html

InnoDB ist Default. Und ohne wirklichen Grund macht es keinen Sinn, MyISAM zu nehmen.
 
Zuletzt bearbeitet:
Nein :p

Was ich eig. ausdrücken wollte: Wenn man nicht weiß, warum man
eine andere Engine braucht, braucht man normalerweise keine andere.
 
Hi,
die DB-weite Einstellung ist nur der Defaultwert für neue Tabellen, wenn man nichts Spezielles angibt.
Und wie kann ich die Ändern?
Bezüglich des Verwenden der Engine hast du jetzt einmal gesagt man soll MyISAM nehmen und einmal InnoDB. Ähm was jetzt :)?

Grüße
 
Kommt absolut auf den konkreten Anwendungsfall an. Das ist wie wenn du Brot oder Fleisch schneidest. beim einen ist ein gezacktes Messer besser, beim anderen ein glattes.

Grüsse
Cromon
 
Hi,
das ist mir schon klar. Aber wie beurteile ich das.
Also ich habe die Fähigkeiten der DB-Engine und dann habe ich meine Software welche gewisse Funktionen beinhaltet wie beurteile ich davon ausgehend dann welche DB-Engine ich brauche?

Grüße
 

Neue Beiträge

Zurück