Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [MySQL] SET/ENUM o VARCHAR?

    Dunque veniamo subbito al punto.
    Ho 3 campi nel mio database che devono contenere solo un certo numero di valori che vanno da 9 a non più di 20 stringe differenti.
    Ogni stringa non supera mai i 17 caratteri e un solo campo di questi è impostato a SET (quello con 20 stringhe).

    Tendo presente che nella stessa tabella, che conterrà si spera almeno un migliaio di record, ci sono altri 26 campi settati a INT e non lunghi più di 7 cifre e altri 7 campi settai a VARCHAR con non più di 200 caratteri, mi conviene impostare questi 3 campi come VARCHAR oppure posso continuare a tenerli come sono?

    Scusate per l'esposizione contorta e grazie a chi è arrivato in fondo a leggere
    Altri consigli sono ben accetti.
    "Una volta che si saranno esaurite senza successo tutte le possibilita', ci sara' una soluzione, semplice e ovvia, che saltera' immediatamente all'occhio di chiunque altro."

    Guardate: Il Miracolo delle Noci!!

  2. #2
    SET ed ENUM hanno un diverso uso, uno ammette piu' valori facenti parte di un range predefinito, ENUM uno solo di quelli predefiniti.

    Quindi se di valore predefinito dovra' essercene uno solo va bene ENUM. Poi, quale campo conviene???? prova a chiederlo a mysql... Se hai un certo numero di campi significativo ovviamente, potresti avere sorprese.

    codice:
    SELECT * 
    FROM tabella 
    PROCEDURE ANALYSE()

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    ho provato ad eseguire la query che mi hai suggerito su una tabella che già avevo, però mi segnala come ENUM il tipo ottimale per TUTTI i campi! Possibile che pure le un campo dove c'è una data e uno con una temperatura vada bene quello??

    comunque sapevo la differenza tra SET ed EUNUM, però non sapevo se fossero meglio quei 2 o il VARCHAR nel mio caso.
    "Una volta che si saranno esaurite senza successo tutte le possibilita', ci sara' una soluzione, semplice e ovvia, che saltera' immediatamente all'occhio di chiunque altro."

    Guardate: Il Miracolo delle Noci!!

  4. #4
    questa e' la sorpresa....

    Se hai un numero finito di valori (inferiore a 64) mysql ti dice di usare enum, perche' fa prima a trovarli e non ci sono equivoci di sorta.

    Tu fai come ti pare, ma quando e' logico usare enum, usalo. Tante teste tante idee ....



    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    ok, grazie della risposta.
    "Una volta che si saranno esaurite senza successo tutte le possibilita', ci sara' una soluzione, semplice e ovvia, che saltera' immediatamente all'occhio di chiunque altro."

    Guardate: Il Miracolo delle Noci!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.