Enums werden so gespeichert, als ob es eine Nachschlagetabelle gäbe, also wird nur eine numerische Referenz in jeder Zeile gespeichert, mit einer Nachschlagetabelle an anderer Stelle. Technisch gesehen ist die Übereinstimmung mit dem Ganzzahlwert einer Enumeration so schnell wie die Übereinstimmung mit einer Ganzzahl, da die beiden identisch sind, und die Übereinstimmung eines Zeichenfolgenwerts ist marginal langsamer (in allen Fällen Balken eins), einfach weil nur eine weitere "Suche" durchgeführt wird die Nachschlagetabelle, um den ganzzahligen Wert zu finden, der dann zum Ausführen der Suche verwendet wird.
Diese eine Instanz ist, wenn Sie nach einem Wert suchen, der nicht existiert, versuchen Sie, den numerischen Wert von enum für einen Wert zu vergleichen, der nicht existiert, und es wird immer noch alle Daten durchsuchen, aber versuchen Sie a String-Wert, der nicht existiert, und eine kleinere Suche durch die Nachschlagetabelle ist erfolgt, wobei keine Übereinstimmung zurückgegeben wird, bevor irgendwelche Daten durchsucht werden.
Verwenden Sie keine Enums für "Ja/Nein" - oder "Männlich/Weiblich" -Antworten, da die numerischen Daten und die Suchtabelle viel mehr Platz benötigen als ein "Bit" -Wert (0 oder 1). Verwenden Sie auch keine numerischen Zeichenfolgen in der Enum-Definition, z. enum ("1", "0"), da dies für jeden verwirrend ist, der den Code und die Abfrage betrachtet (weil die gespeicherte Nachschlagetabelle [0 => "1", 1 => "0"] ist)
Can Sie klären, ob Sie den MySQL-Datentyp ENUM (http://dev.mysql.com/doc/refman/5.0/en/enum.html) verwenden oder nicht? – Nishant