varchar vs. text

Secţiune dedicată începatorilor.

Moderatori: Moderatori, Start Moderator

TheHonnor
New Member
Mesaje: 4
Membru din: Lun Apr 24, 2017 12:42 am

varchar vs. text

Mesajde TheHonnor » Dum Feb 16, 2020 2:18 am

Salut, am început de curând să-nvăț Codeigniter și am link-uit baza de date la aplicație. Întrebarea mea e cum îmi dau seama ce ar trebui să folosesc când vine forba de formatare text în baza de date MySQL?
Dacă folosesc text peste tot îmi merge, iar dacă folosesc varchar peste tot, (din nou) va merge oricum.
Deci nu e neapărat o problemă, e mai mult o curiozitate.
Am făcut și research, tot ce am găsit pe stackoverflow este explicația asta:

TEXT has a fixed max size of 2¹⁶-1 = 65535 characters.
VARCHAR has a variable max size M up to M = 2¹⁶-1.


Aș fi recunoscător dacă mi-ar putea explica cineva mai pe înțelesul meu.



Avatar utilizator
Jetix
Average Member
Mesaje: 66
Membru din: Mie Aug 09, 2017 3:16 am
Contact:

Re: varchar vs. text

Mesajde Jetix » Mie Feb 19, 2020 9:03 pm

Cu varchar adaugi limita de caractere (de ex la un Nickname vei folosi varchar(32), max 32 caractere, dacă folosești text, vei putea adaugă un număr mare de caractere fără a tăia din acel shir de caractere.
Ex:
Varchar(5): șirul "programmer" va fi inserat astfel "progr".
Text: șirul "mergeam odată pe stradă" va fi inserat total.

Avatar utilizator
vectorialpx
Senior Member
Mesaje: 4832
Membru din: Mar Mar 01, 2005 9:48 am
Localitate: Bucuresti
Contact:

Re: varchar vs. text

Mesajde vectorialpx » Joi Feb 20, 2020 5:26 pm

Diferenta majora este la adaugarea de index
- pentru text iti trebuie un index full-text
- pentru varchar poti pune un index string eficent daca ai size-ul sub 255

https://stackoverflow.com/questions/253 ... t-in-mysql

TheHonnor
New Member
Mesaje: 4
Membru din: Lun Apr 24, 2017 12:42 am

Re: varchar vs. text

Mesajde TheHonnor » Dum Feb 23, 2020 8:05 pm

Jetix scrie:Cu varchar adaugi limita de caractere (de ex la un Nickname vei folosi varchar(32), max 32 caractere, dacă folosești text, vei putea adaugă un număr mare de caractere fără a tăia din acel shir de caractere.
Ex:
Varchar(5): șirul "programmer" va fi inserat astfel "progr".
Text: șirul "mergeam odată pe stradă" va fi inserat total.


Mulțumesc mult pentru răspuns! Aparent era mai ușor răspunsul decât mă așteptam. :lol:


Înapoi la “PHP Incepători”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 71 vizitatori