Нет, не верно. В каждой СУБД способ хранения строк свой.
Если говорить про MySQL, то при использовании кодировки utf8 (позволяет хранить только символы нулевой плоскости юникода) код каждого символа хранится в 3 байтах, при использовании кодировки utf8mb4 (позволяет хранить любые символы юникода) - в 4 байтах.
Будет ли выделено место сразу под максимальную длину строки или под реальное кол-во символов в данной строке, зависит от используемого для конкретной таблицы MySQL движка - коих многократно больше, чем MyISAM и InnoDB.
P.S. Если же говорить про сферического коня в вакууме, то ты прав: 11 байт. 1 байт под длину строки (этого достаточно до varchar(255) включительно) и 10 байт под символы строки.
SQL
Если у нас есть Varchar(10) то он займет 11 байт верно?
Игорь Вербилов
это просто задание в котором надо расчитать максимальный размер памяти который займет тот или иной атрибут и вот там есть варчар из 10 символов
Максимально 12 байт, потому что нужно ещё хранить информацию о длине строки. Минимально 2 байта.
Игорь Вербилов
а почему 2 байта на длину
Introduction to MySQL VARCHAR data type
MySQL VARCHAR is the variable-length string whose length can be up to 65,535. MySQL stores a VARCHAR value as a 1-byte or 2-byte length prefix plus actual data.
The length prefix specifies the number of bytes in the value. If a column requires less than 255 bytes, the length prefix is 1 byte. In case the column requires more than 255 bytes, the length prefix is two length bytes.
http://www.mysqltutorial.org/mysql-varchar/
MySQL VARCHAR is the variable-length string whose length can be up to 65,535. MySQL stores a VARCHAR value as a 1-byte or 2-byte length prefix plus actual data.
The length prefix specifies the number of bytes in the value. If a column requires less than 255 bytes, the length prefix is 1 byte. In case the column requires more than 255 bytes, the length prefix is two length bytes.
http://www.mysqltutorial.org/mysql-varchar/
А как же кодировка? в utf8 может быть 4 байта на символ. А еще почему длина 2 байта? если длина ограничена 10, то и байта хватит. Это все зависит от реализации базы данных.
В каких-то ситуациях на каких-то базах Varchar(10) может быть 44 байта. (почему бы и не 4 байта на длину? 4 байта тоже распространено для целых чисел)
В каких-то ситуациях на каких-то базах Varchar(10) может быть 44 байта. (почему бы и не 4 байта на длину? 4 байта тоже распространено для целых чисел)
Игорь Вербилов
в данном задании не нужно так заморачиватся. Нужно указать максимальный размер памяти для варчара из 10 символов
Игорь Вербилов
я вот не пойму 12 или 11
Похожие вопросы
- Обязательное образование в РФ это 11 классов, верно? А что будет если ребенок уйдет после 9 класса
- сколько нужно 10 м рулонов на 11 кв. м???
- Возможна ли совместимость Ж - 10.091987, М - 7.11.1997 Возможна ли совместимость Ж - 10.091987, М - 7.11.1997
- Корпорация "Microsoft" запретила жителям России загружать "Windows 10" и "11". Есть ли какая-то замена этим продуктам ?
- Мужики, у кого с фантазией побогаче, посоветуйте чем занять 11 мес. сына, особенно когда нет жены
- А что правда что Россия заняла 11 место на Евровидении-2009?
- Евровидение: Почему Настя заняла 11 место?
- Как вы относитесь к тому,что Настя Приходько заняла 11 место??
- Грузия заняла 11 место в мире по развитию бизнеса. Почему же некоторым кажется что там все так плохо?
- слава боженьке и его проводнику кириллу ! мы заняли 11 место. не зря команда в храм ходила вместо тренировок