2009-09-03 9 views
10

Мой вопрос - это то, что лучше использовать при генерации столбцов в SQL. Если размер nvarchar (varchar) будет умножен на 2 (32, 64, 128) или это не имеет значения, и мы можем использовать в полном объеме пример «100», «50»?Nvarchar или varchar, что лучше использовать умножить на 2 или округленные полные числа?

Большое спасибо за ответы с причинами

Поздравительные ко всем

+0

Смотрите, теперь я жду, чтобы увидеть, есть ли какие-либо диссиденты. У нас 5 голосов, это неважно. :) – TheJacobTaylor

+0

Спасибо, что ответите мне сейчас. Теперь это неважно. BR – szkra

ответ

14

Не имеет никакого значения. Используйте размер, соответствующий вашим данным.

Например, SQL Server, если вы посмотрите на Anatomy of a Record, вы увидите, что ваш размер преобразуется в сдвиги записи, которые зависят от предыдущей записи в таблице, нулевые значения и другие факторы, особенно при сжатии строк и сжатии страниц принимая во внимание. К моменту доступа к полю любое сходство с оригинальным заявлением о соотношении размеров, видимостью силы 2 или степенями 10, давно не прошло. Кроме того, различные элементы выше в стеке выполнения запроса, такие как объединения операторов или операторов сортировки или что-то еще, также не будут иметь преимуществ от двух размеров (у меня нет ссылок на «доказательство», но все в порядке, если вы примете мое слово для этого ...) , Также не выполняется протокол TDS, когда данные маршалинга возвращаются клиенту. И я тоже мало польжу от клиента.

2

Нет никакой пользы в том, что размер столбцов (N)VARCHAR может быть равен 2. Используйте все, что подходит для вашей модели домена.

2

это не имеет значения, значение всех столбцов таблиц являются strcutured двигателя сочетается друг с другом на физическом Page

8

Там нет причин использовать кратные 2. Установите в поле, чтобы соответствовать оценкам, размера ваши данные.

Один номер, который стоит упомянуть, хотя и является 255. Некоторые системы баз данных имеют максимальный тип varchar 255, хотя это становится все реже. Я в основном думаю о том, что теперь очень старые версии MySql. И поэтому иногда разработчики устанавливают размер столбца на 255, чтобы обеспечить большую мобильность.

3

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