|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jan 2005
Città: London, United Kingdom
Messaggi: 959
|
[SQL/php] Varchar,...
Salve...
volevo farci un po' di chiarezza anche perché spesso ci metto un VARCHAR(255) o un TEXT tanto per farci stare quello ceh ho bisogno: mi piacerebbe sapere la differenza fra VARCHAR e CHAR. Ho trovato qualcosa ma in inglese... Se ho capito bene CHAR ha la lunghezza fissa quindi si utiizzerebbe ad esempio solamente con hash (md5 l'ha di 32, sha1 di 40)? Per una descrizione di qualcosa (corta...diciamo un 100/150 caratteri) cosa si utilizza? Un numero di 10 cifre? Io ho sempre utilizzato INT ma vorrei fare "giusto" in modo da velocizzare anche il sito. Grazie
__________________
zattix Ultima modifica di ianaz : 10-10-2006 alle 09:57. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: May 2002
Città: Roma
Messaggi: 587
|
varchar e varchar2 sono dei surrogati del char, come hai detto bene tu, il char ha dimensione fissa e il varchar dimensione elastica.
Dalla mia piccola esperienza posso dirti che se hai dei codici alfanumerici di grandezza fissa, o nomi, o cognomi o dati che non occupano quantita rilevanti di caratteri è meglio utilizzare il char dimensionandolo di quanto serve. Questo per non andare incontro a problemi nella lettura/scrittura di quei campi in futuro come mi è successo molte volte per accedere a tabelle in oracle progettate a caxxo, mentre per campo con grandezze molto variabili: ad esempio una tabella di trascodifica errori (codice errore / testo errore) oppure descrizione di qualcosa o meglio un campo "note" che può anche rimanere vuoto, è meglio dimensionarlo come varchar. Questo l'ho capito durante le mie esperienze lavorative ma cedo la parola a chi ha piu esperienza di me.
__________________
AMD Phenom II 965 Black Edition | Gigabyte 990XA-UD3 | Corsair 8GB DDR3 1666 | Intel SSD 320 160GB + WD Caviar Green 3TB | AsusGeForce GTX770 DC II| CoolerMaster 690 II | Philips 231e1sb |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: May 2002
Città: Roma
Messaggi: 587
|
a livello pratico se in un varchar metti la lettera "a" tu vedrai solo
Codice:
"a" Codice:
"a "
__________________
AMD Phenom II 965 Black Edition | Gigabyte 990XA-UD3 | Corsair 8GB DDR3 1666 | Intel SSD 320 160GB + WD Caviar Green 3TB | AsusGeForce GTX770 DC II| CoolerMaster 690 II | Philips 231e1sb |
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Jan 2005
Città: London, United Kingdom
Messaggi: 959
|
Quote:
Un char utilizzerebbe campi inutili no?
__________________
zattix |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: May 2002
Città: Roma
Messaggi: 587
|
come ti dicevo sopra spesso ho avuto problemi nelle conversioni dei tipi dalla tipologia del rdbms a quella del linguaggio di programmazione (ultimamente c'erano problemi vari tra i dati ritornati dalle select e l'inserimento di questi nei PIC X del cobol)
__________________
AMD Phenom II 965 Black Edition | Gigabyte 990XA-UD3 | Corsair 8GB DDR3 1666 | Intel SSD 320 160GB + WD Caviar Green 3TB | AsusGeForce GTX770 DC II| CoolerMaster 690 II | Philips 231e1sb |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: May 2002
Città: Roma
Messaggi: 587
|
cmq ti ripeto che questa è una mia considerazione, io per i campi piccoli preferisco gestirmi i char che posso equiparare alla "classe base del varchar" ma poi ogniuno se li gestisce come melio preferisce
__________________
AMD Phenom II 965 Black Edition | Gigabyte 990XA-UD3 | Corsair 8GB DDR3 1666 | Intel SSD 320 160GB + WD Caviar Green 3TB | AsusGeForce GTX770 DC II| CoolerMaster 690 II | Philips 231e1sb |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:37.



















