Zastanawiam się, czy mam VARCHAR z 200 znakami i że wstawię ciąg 100 znaków, czy użyje on 200 bajtów, czy użyje rzeczywistego rozmiaru ciągu?Rozmiar VARCHAR MySQL?
Odpowiedz
100 znaków.
To var (zmienna) w varchar
: tylko przechowywać co wpisać (i dodatkowe 2 bajty do przechowywania długości zapisu do 65535)
jeśli było char(200)
Wtedy zawsze przechowywać 200 znaków , wyściełane z 100 miejsc
Zobacz docs: "The CHAR and VARCHAR Types"
nie bajtów ale znaków :) – Karolis
Aby było jasne: Przechowywanie ciągu znaków 100 znaków w polu 'varchar (200)' zajmie 101 bajtów. Przechowywanie ciągu 100 znaków w polu 'varchar (256)' zajmie 102 bajty. Dlatego tak często widzisz 'varchar (255)'; 255 znaków jest najdłuższym ciągiem, który możesz przechowywać w 'varchar' typu MySQL z tylko jednym bajtem narzutów. Wszystko większe wymaga dwóch bajtów narzutów. – rinogo
@rinogo Czy to nie zależy od zestawu znaków? Czy zakładasz ASCII lub co? – mpen
VARCHAR oznacza, że jest to znak o zmiennej długości, więc jest to tylko zajmie s dużo miejsca, jak to konieczne. Ale jeśli wiesz coś o podstawowej strukturze, może być sens ograniczenie VARCHAR do pewnej maksymalnej kwoty.
Na przykład, jeśli zapisywałeś komentarze od użytkownika, możesz ograniczyć pole komentarza do tylko 4000 znaków; jeśli tak, to nie ma sensu, aby tabela sql miała pole, które jest większe od niż VARCHAR (4000).
- 1. limit rozmiaru MySQL VARCHAR
- 2. Maksymalny rozmiar zmiennej varchar (max)
- 3. Wielkość kolumny MySQL UTF8 varchar
- 4. Definiowanie długości varchar dla MySQL w szynach
- 5. MySQL Określanie najdłuższej długości VarChar
- 6. Odlewanie z VARCHAR INT - MySQL
- 7. MySQL: dlaczego varchar (254), a nie varchar (255)?
- 8. Sortowanie pola varchar numerycznie w MySQL
- 9. MySQL - TEKST vs CHAR i VARCHAR
- 10. mysql order varchar field as integer
- 11. Jakie są optymalne rozmiary varchar dla MySQL?
- 12. Mysql WorkBench: Domyślna wartość varchar jako pusta
- 13. Konwersja mySQL varchar do tej pory
- 14. Konwersja danych MySQL z varchar na float
- 15. MySQL: integer Indeks vs Varchar Index
- 16. InvalidRequestError: VARCHAR wymaga długości na dialekcie mysql
- 17. Różnica między varchar (5) a varchar (5000)?
- 18. Jak uzyskać rozmiar pola varchar [n] w jednym zapytaniu SQL?
- 19. Varchar (255) do Varchar (MAX)
- 20. Rozmiar pola MySql do przechowywania treści wiadomości e-mail
- 21. Jak zmienić typ VARCHAR na DATETIME używając ALTER w MySQL?
- 22. Jaki jest maksymalny rozmiar zapytania dla mysql?
- 23. Utwórz kolumnę z varchar (max) zamiast varchar (8000)
- 24. Czy varchar (128) jest lepszy od varchar (100)
- 25. Konwersja HashBytes do VarChar
- 26. Co oznacza varchar (-1)?
- 27. FluentNHibernate i VARCHAR Kolumny
- 28. przechowywanie liczb jako varchar
- 29. Korelacja wartości varchar
- 30. Oracle BLOB vs VARCHAR
Duplikat: http://stackoverflow.com/questions/1962310/importance-of-varchar-length-in-mysql-table –
Fragment blogu: http://goo.gl/Hli6G3 –