Какой тип столбца лучше всего подходит для хранения смешанных данных в SQL Server? - PullRequest
1 голос
/ 07 декабря 2011

Мы выполняем преобразование Visual Foxpro (DBF) в SQL Server, но сохраним графический интерфейс VFP для использования базы данных SQL Server.

В нескольких памятных полях в VFP мы храним смесь ASCII.символы и текст.

Какой тип данных столбца лучше всего подходит для хранения этих значений, предпочтительно без CAST?

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

Спасибо за помощь.

1 Ответ

3 голосов
/ 07 декабря 2011

Это зависит от версии SQL Server, которую вы используете.2005 и выше поддержка VARCHAR (MAX), которая может хранить строки до 2 ГБ.Короткие строки хранятся эффективно (в строке), в то время как более крупные строки автоматически сохраняются в области базы данных больших двоичных объектов, при этом в строке хранится только указатель на большой двоичный объект.С точки зрения разработчика, вам не нужно беспокоиться об этой сложности и использовать VARCHAR (MAX), если ваши данные могут превышать 8000 символов.

Что касается ваших файлов Word, это зависит от того, хотите ли вы сохранить фактический файл(в двоичном формате) в базе данных или только содержание.В первом случае вы можете использовать VARBINARY (MAX) (или сохранить файл на диске и только путь и другие метаданные файла в SQL Server).Если вы хотите сохранить фактический контент, вам необходимо сначала преобразовать его в какой-либо подходящий формат (Rich Text, XML и т. Д.), А затем сохранить его в VARCHAR (MAX).

ПРИМЕЧАНИЕ: используйте NVARCHAR вместо VARCHARесли ваши данные содержат символы Юникода (а не только ASCII)

...