var_char(255), а я увеличу содержимое поля на несколько символов, то увеличится ли размер базы данных ?
Место НЕ выделяется сразу. char и varchar хранятся в БД в MySQL одинаково. Тем не менее, если ты увеличишь, вся БД очень возможно что и не изменится в размере, или изменится, но очень слабо.
если речь идет об увеличении места до 255, то размер базы не будет увеличен сразу. если же сделаете больше 255, то будет в качестве префикса будет использован не 1 байт, а два (варчар хранится как колчество данных + данные). никакого автоматического ресайза текущих данных не будет
Так больше 255 — у него просто запрос не пройдёт...
declare @x table(x1 char(10), x2 varchar(10)); insert into @x select replicate('x',5),replicate('x',5); select datalength(x.x1)x1,datalength(x.x2)x2 from @x x; ——————————— x1 x2 10 5
Обсуждают сегодня