CHAR viene memorizzato come una stringa di lunghezza fissa, VARCHAR viene memorizzato come una stringa di lunghezza variabile. Posso usare VARCHAR per memorizzare una stringa di lunghezza fissa, ma perché le persone vogliono ancora usare CHAR per memorizzare una stringa di lunghezza fissa? C'è qualche vantaggio nell'usare CHAR su VARCHAR? Se nessuno dei vantaggi, perché il database mySQL non rimuove l'opzione di CHAR?Qualunque vantaggio degli usi CHAR su VARCHAR?
risposta
- VARCHAR
esercizi varchar stringa di caratteri a lunghezza variabile. può richiedere meno spazio di archiviazione rispetto ai tipi a lunghezza fissa perché utilizza solo lo spazio necessario.
varchar utilizza anche 1 o 2 byte in più per registrare la lunghezza del valore. ad esempio varchar (10) utilizzerà fino a 11 byte di spazio di archiviazione. varchar aiuta le prestazioni perché consente di risparmiare spazio. tuttavia, poiché le righe sono di lunghezza variabile, possono crescere quando si aggiornano, il che può causare un lavoro supplementare. se una riga cresce e non è più adatta nella sua posizione originale, il comportamento è immagazzinaggio dipendente dal motore ...
- CAR
char è di lunghezza fissa, mysql alloca sempre abbastanza spazio per la specificata numero di personaggi Quando si memorizza un valore CHAR, MySQL rimuove gli spazi finali. I valori sono riempiti con gli spazi necessari per i confronti.
char è utile se si desidera memorizzare stringhe molto corte o se tutti i valori sono quasi pari a della stessa lunghezza. Ad esempio, CHAR è una buona scelta per i valori MD5 per le password utente, , che hanno sempre la stessa lunghezza.
char è anche migliore rispetto VARCHAR per dati che sono cambiati frequentemente, in quanto una riga di lunghezza fissa non è incline alla frammentazione.
Ora vedo il vantaggio di CHAR in merito al valore di aggiornamento frequente. Grazie mille. – zac1987
Sidenote: Non direi che char è una buona scelta per gli hash MD5, o per qualsiasi hash. Dovrebbero essere archiviati in formato binario invece di una codifica diversa come quella esadecimale. – Luc
Credo che sia più veloce per la ricerca, come il database sa esattamente dove andare subito, piuttosto che dover fare calcoli di lunghezza, questo potrebbe non essere troppo evidente in questi giorni però –
- 1. Indice su un Varchar?
- 2. Qualunque vantaggio o svantaggio del goniometro rispetto al selenio?
- 3. MySQL - TESTO vs CHAR e VARCHAR
- 4. Generazione DDL JPA/Hibernate; CHAR vs. VARCHAR
- 5. Che dimensione usi per varchar (MAX) nella dichiarazione dei parametri?
- 6. Qualunque vantaggio nell'usare i costruttori di tipi nelle classi di tipi?
- 7. Qual è il vero vantaggio degli ambiti
- 8. Indicizzazione SQL su varchar
- 9. MARCHQL VARCHAR o CHAR per stringa di lunghezza fissa
- 10. Come convertire da varbinary a char/varchar in mysql
- 11. Differenza tra varchar (5) e varchar (5000)?
- 12. varchar (20) e varchar (50) sono uguali?
- 13. casting char [] [] su char ** causa segfault?
- 14. C'è qualche punto nell'usare CHAR se si ha un VARCHAR nella stessa tabella?
- 15. Usi CDN su Play 2.0
- 16. Il tipo di dati CHAR in SQL è obsoleto? Quando lo usi?
- 17. Passare la stringa C# a C++ e passare il risultato C++ (stringa, char * .. qualunque) a C#
- 18. Ci sono degli svantaggi nell'usare VARCHAR (MAX) in una tabella?
- 19. Qual è il vantaggio degli avanzi di conduit?
- 20. Varchar (255) a Varchar (MAX)
- 21. A cosa servono i namespace? che dire degli usi?
- 22. Quali sono gli usi migliori degli archivi di documenti?
- 23. Gestione degli usi non semantici di "rel" in RDFa
- 24. Postgres: Converti varchar in testo
- 25. È varchar (128) migliore di varchar (100)
- 26. CAST erroneamente lanciato float su varchar
- 27. C'è un vantaggio nell'utilizzo di spazi di nomi completamente qualificati nella clausola sugli usi?
- 28. API per deposito diretto (ACH, EFT, Qualunque)
- 29. Qual è il vantaggio delle "espressioni lambda"?
- 30. Il vantaggio di Arco su racchetta
http://stackoverflow.com/questions/59667/why-would-i-ever-pick-char-over-varchar-in-sql –
http://stackoverflow.com/questions/350195/char-vs -varchar-for-performance-in-stock-database –
ops, mi dispiace per la domanda duplicata. Ho la risposta Grazie per il link. – zac1987