a me pare di capire diversamente nel manuale.Originariamente inviato da emanueledg
ENUM non viene suggerito quando non ritenuto appropriato, quindi viene suggerito solo quando appropriato...
Appropriato in base a cosa? Miglioramento di prestazioni o memoria di massa? Cercando, si scopre che la documentazione ufficiale parla di solo di ottimizzazione di memoria.
Praticamente non posso salvare capra e cavoli, e dovendo migliorare i tempi mi conviene mantenere l'opzione più veloce, cioè INT.
se lo provo su una tabella in modo generico mi suggerisce enum anche per le date ed i timestamp. Non credo sia una cosa cosi' utile. Bisognerebbe crearsi la propria procedura.You may need to try different settings for the arguments so that PROCEDURE ANALYSE() does not suggest the ENUM data type when it is not appropriate.
Potrebbe essere necessario provare diverse impostazioni per gli argomenti in modo che PROCEDURE ANALYSE() non suggerisca l'ENUM come tipo di dati quando questo non è appropriato.
Anche perche' con un tinyint che occupa un byte e mi tiene 255 valori mi pare proprio inutile utilizzare un enum.
prova a passare un parametro all'analyze. se fai un campo INT per 20 valori ... ti dice enum. ma se il campo e tinyint ti dira' che va bene. Almeno credo.