Autor | Zpráva | ||
---|---|---|---|
mikulas12 Profil |
#1 · Zasláno: 14. 2. 2018, 16:32:28
Ahoj, tady v tom článku programujte.com/clanek/2007052903-prehled-datovych-typu-v-mysql se píše že
VARCHAR [(M)] Použití: řetězec pevně dané délky dlouhý 0 až M (M musí být celé číslo v rozmezí od 0 do 255). Ale já mám doma knížku kde je napsáno že do CHAR můžu ukládat 255 znaků a do VARCHAR až 65 535 znaků (s tim že mysql má limit řádku 6553,5 bajtů). Jak to teda je? |
||
Keeehi Profil |
Ten článek je už 11 let starý a mezi tím proběhl nějaký vývoj. Limit 255 platil pro MySQL až do verze 5.0.2. Verze 5.0.3 a novější mají limit teoreticky až 65 535 bajtů.
|
||
juriad Profil |
#3 · Zasláno: 14. 2. 2018, 16:39:16
Ano je to maximálně 65535 bytů ale může to být i méně: v tabulce nemůžeš mít například dva sloupce o velikosti 50000.
Pozor také na to, že byte != znak. Ona to ve výsledku může být jen čtvrtina (utf8mb4) Viz první komentář: programujte.com/clanek/2007052903-prehled-datovych-typu-v-mysql/nazory/#nove-nazory Případně oficiálně: dev.mysql.com/doc/refman/5.7/en/char.html |
||
M4n Profil * |
#4 · Zasláno: 14. 2. 2018, 16:46:32
Těch 65535 bytů není limit jen VARCHARu, ale celého řádku.
Obecně je třeba myslet na to, že VARCHAR (a samozřejmě CHAR) je právě uložený přímo v tabulce. Na velké nebo často se měnící texty je vhodnější TEXT, který má v tabulce jen ukazatel a změny tak nezpůsobují její zbytečnou fragmentaci. |
||
mikulas12 Profil |
ok, díky...
juriad: „byte != znak. Ona to ve výsledku může být jen čtvrtina (utf8mb“ mám utfmb4, takže třebas smajlík má více než klasická písmena? a když tam mám omezení délka 200 tak se to počítá jako 200 znaků? |
||
mikulas12 Profil |
#6 · Zasláno: 14. 2. 2018, 20:56:53
myslíte že je tinytext dostatečný pro obsah komenáře?
|
||
Keeehi Profil |
#7 · Zasláno: 14. 2. 2018, 21:02:03
mikulas12:
To záleží na tvém uvážení. Na tomto fóru by to bylo rozhodně málo, na Twitteru by to téměř stačilo. |
||
mikulas12 Profil |
aha
|
||
Časová prodleva: 7 let
|
0