символа?
лучше поставить varchar(255), а в коде уже ограничение, так как непонятно, какие символы могут быть использованы в логине
Лучшэ никогда в постгресе не ставить varchar(255). https://wiki.postgresql.org/wiki/Don%27t_Do_This#Don.27t_use_varchar.28n.29_by_default >есть ли какие-нибудь переменные или еще-что для больших текстов в бд? С mysql мигрируете, да?
text
когда я вижу varchar(255), я понимаю, что разработчик БД - совершенно беспомощный. Никто и никогда не сумел обосновать, почему 255, а не 254 или 256.
Это максимум у мыскля.
Ложное утверждение. https://dev.mysql.com/doc/refman/8.0/en/char.html "Values in VARCHAR columns are variable-length strings. The length can be specified as a value from 0 to 65,535"
Да, это я пропустил это улучшэние. (Ещё в пятёрке было 255).
Да, спасибо за статью)
Не было. Ложное утверждение. https://downloads.mysql.com/docs/refman-5.0-en.a4.pdf Values in VARCHAR columns are variable-length strings. The length can be specified as a value from 0 to 255 before MySQL 5.0.3, and 0 to 65,535 in 5.0.3 and later versions. Только в первых двух пробных релизах 5.0 было MySQL 5.0.3 вышла в 2005 году. Вы с 2005 года помните это ограничение?
Я, если чо, с ним работал с 3.21. (А до него -- ещё с msql, с которого он был передран как свободный аналог).
И снова - респект! Жму руку. но это не отменяет факта, что тот, кто сейчас пишет varchar(255) - совершенно беспомощен.
Ну, такоэ. Я, как несложно заметить -- это тожэ нелюблю. Но мало ли почему у человека так сложылось. В концэ концов, зачастую туда надо что-то написать для совместимости. Почему бы и не 255.
Напишите реальную ожидаемую максимальную длину строки. Не знаете - пишите text.
Потому что для 255, больше памяти выделится.
Опять вы. Над вами тут ужэ весь чятик потешается.
Чем для 30
Кстати, с точки зрения хранения, имеет смысл varchar(126), все другие длины имеют смысл только если бизнес-логика допускает частичное обрезание пробелов в конце строк (либо требует, чтобы это обрезание производилось явно) и устанавливает бизнесовый предел длины строки (например - комментарий к платежу ограничен по длине).
То есть, если varchar(10) то обязательно надо вписать 10 символов, если иногда будет меньше, то использовать text?
Это значит что выделятся для поля будет не более 10 символов. Нл эти 10 будут выделятся всегда.
а для text как выделяется? Сколько символов вписалось, столько и выделилось?
ДА ЧТО ТАКОЕ-ТО! Третий день какие-то такие невероятные домыслы в этом чятике.
И для text и для всех varchar (независимо от наличия лимита) выделяется абсолютно одинаково — сколько необходимо для хранения переданной в запросе строки.
ты с чар путаешь
У тебя какие то личные проблемы на этот счет?))
Начинай
Готово.
Нет, все правильно он утверждает. Конкретно заданная размерность лишь служит ограничителем.
> Нл эти 10 будут выделятся всегда. Нет, не правильно.
Обсуждают сегодня