sql >> Databasteknik >  >> RDS >> Mysql

MySQL Enum prestandafördel?

Det finns ett stort prestationsstraff straff att använda ENUM för operationer som:

  • Fråga listan över tillåtna värden i ENUM , till exempel för att fylla i en rullgardinsmeny. Du måste fråga efter datatypen från INFORMATION_SCHEMA , och analysera listan från ett returnerat BLOB-fält.

  • Ändra uppsättningen av tillåtna värden. Det kräver en ALTER TABLE uttalande, som låser tabellen och kan göra en omstrukturering.

Jag är inte ett fan av MySQL:s ENUM . Jag föredrar att använda uppslagstabeller. Se även mitt svar på "Hur hanterar man uppräkningar utan uppräkningsfält i en databas? "



  1. Oracle - Hur hanterar Oracle transaktionsspecifika DML-satser

  2. Hur utökar man Liquibase för att generera ändringsloggar med lagrade procedurer, funktioner och triggers?

  3. Varför fungerar inte detta :id i Rails med Postgresql men det fungerar med MySQL?

  4. UPPDATERA en kolumn baserat på värdet för en annan kolumn i samma tabell