Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Leistungsvorteil von MySQL Enum?

Es gibt eine enorme Leistung Strafe auf die Verwendung von ENUM für Operationen wie:

  • Fragen Sie die Liste der erlaubten Werte im ENUM ab , um beispielsweise ein Dropdown-Menü zu füllen. Sie müssen den Datentyp von INFORMATION_SCHEMA abfragen , und analysieren Sie die Liste aus einem zurückgegebenen BLOB-Feld.

  • Ändern Sie den Satz zulässiger Werte. Es erfordert eine ALTER TABLE -Anweisung, die die Tabelle sperrt und ggf. neu strukturiert.

Ich bin kein Fan von MySQLs ENUM . Ich bevorzuge Nachschlagetabellen. Siehe auch meine Antwort auf "Wie behandelt man Aufzählungen ohne Aufzählungsfelder in einer Datenbank? "