2013-06-19 3 views
3

, если Varchar (max) используется в качестве типа данных и вставляет данные в него меньше, чем полное выделение, то есть только 200 символов, тогда сервер sql всегда занимает полное пространство varchar (max) или будет занято всего 200 символов.SQL-сервер Varchar (max) и занятое пространство

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

ответ

8

От http://msdn.microsoft.com/en-us/library/ms176089.aspx:

  • символ [(п)] фиксированной длины, строковые данные не-Unicode. n определяет длину строки и должно быть значением от 1 до 8000. Размер хранилища составляет n байтов. Синоним ISO для символа - символ.
  • varchar [(n | max)] Строковые данные переменной длины, не относящиеся к Юникоду. n определяет длину строки и может быть значением от 1 до 8000. max указывает, что максимальный размер хранилища составляет 2^31-1 байта (2 ГБ). Размер хранилища - фактическая длина введенных данных + 2 байта. Синонимы ISO для varchar имеют различный характер или характер.

Таким образом, для varchar, включая max - память будет зависеть от фактической длины данных, в то время как char всегда фиксированный размер, даже если все пространство не используется.

2

Юрий Галантер, объяснил красиво. Я хотел бы добавить немного больше, если вы хотите получить дополнительную информацию об этом же. :)

Используйте CHAR только для строк , длина которых вы знаете, чтобы быть исправленной. Например, если вы определяете домен , значения которого ограничены 'T' и 'F', вероятно, вы должны сделать , что CHAR [1]. Если вы храните номера социального страхования в США, введите домен CHAR [9] (или CHAR [11], если вы хотите пунктуацию).

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

+0

Это абсолютно не пытается ответить на вопрос OP .... – AFract

Смежные вопросы