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

Возможный дубликат:
Размер varbinary поле в SQL Server 2005

В моей базе данных SQL2005 у меня есть таблица со столбцом varbinary(MAX).

Как узнать размер строк? Или как вариант подскажите размер поля varbinary в каждой строке?


person yamspog    schedule 04.10.2010    source источник
comment
См. аналогичный вопрос stackoverflow.com/questions/507785/   -  person Mike Schenk    schedule 04.10.2010
comment
Пример со ссылкой в ​​моем ответе здесь: stackoverflow.com/questions/3793022/   -  person gbn    schedule 04.10.2010
comment
спасибо за ссылки. я, очевидно, искал неправильные ключевые слова. просто нужен еще один голос, чтобы закрыть вопрос.   -  person yamspog    schedule 04.10.2010


Ответы (1)


Есть две функции:

  • DATALENGTH возвращает размер данных (в байтах).
  • LEN возвращает размер данных (символов).

Для столбца varbinary(max) следует использовать DATALENGTH:

SELECT DATALENGTH(column) FROM Table;

Обе функции возвращают логическое значение данных после применения всех алгоритмов сжатия и полной распаковки столбца. Фактическое количество байтов, занимаемых на диске, определить невозможно, так как на него влияют различные параметры хранения, в первую очередь параметры сжатия (сжатие строк, сжатие страниц, сжатие Юникода) и large value types out of row для таблицы.

person Remus Rusanu    schedule 04.10.2010
comment
Итак... можно ли определить размер всей строки, а не только одного столбца (это также было задано в исходном вопросе :) - person rogerdpack; 17.07.2014