Указание длины типов данных - PullRequest
1 голос
/ 29 октября 2011

Вот что меня беспокоит, когда я создаю столбцы таблицы базы данных.Для каждого из них есть тип данных, который имеет свою длину.Например, скажем, одна из таблиц является путем к файлу, и я предполагаю, что этот путь к файлу не должен превышать 100 в максимуме, очевидно, я указываю это как

filepath Varchar(100) 

Однако, это все равно принимает тот жеобъем памяти, как, скажем, varchar (255), который составляет 1 байт.Учитывая это, какая польза от того, что я указал длину 100. Если взять более выдающийся пример, если мой filepath превышает varchar (100), база данных отклоняет / урезает значение filepath до 100?Или это позволяет ему превышать более 100, поскольку выделенное пространство памяти все еще составляет около 1 байта?

По существу вышеприведенное объяснение формулирует мой вопрос, так как следует попытаться очень точно определить ожидаемую максимальную длину для столбца таблицы?Или просто проигнорируйте и укажите верхний предел ожидаемой длины столбца таблицы в зависимости от потребности в памяти?

Большое спасибо!

Parijat

Ответы [ 2 ]

1 голос
/ 29 октября 2011

очень конкретно о предполагаемой максимальной длине столбца таблицы? Или просто будьте осторожны

Если вы создадите таблицу, содержащую адреса, вы, несомненно, знаете, что для длины адреса будет какое-то ограничение. Было бы бесполезно разрешать более длинные поля в базе данных.

Вы должны быть осторожны и быть очень осторожным.

1 голос
/ 29 октября 2011

MySQL автоматически усекает значение до 100 символов. Число в скобках для текстовых / символьных полей - это МАКСИМАЛЬНАЯ длина. Обратите внимание, что это предел ХАРАКТЕР. Если у вас есть многобайтовое сопоставление в этом поле, вы можете сохранить в этом поле более 100 байтов, но текст длиной всего 100 символов.

Это отличается от произношения int (10), где число в скобках предназначено только для отображения. Int является внутренним int и занимает 16 бит, независимо от того, сколько цифр вы разрешите с помощью (#), но вы никогда не будете SEE больше, чем эти # цифры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...