Тип данных промежуточной таблицы SQL Server

Я хочу знать, какой тип данных я должен определить в промежуточной таблице SQL Server, когда я не знаю точного типа данных источника (CSV-файлы).

Каковы наилучшие методы оптимизации ресурсов?

Пример:

  • Для текстового столбца:varchar(255)илиnvarchar(255)?
  • Для столбца даты:dateилиdatetime?
  • Для десятичного столбца:decimalилиfloat? И какова наилучшая точность в случае десятичной дроби?

1 ответ

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

Может ли один и тот же столбец иметь разные жанры типов данных (текстовые, числовые, двоичные)?

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

Если нет, вы должны использовать тип данных, который поддерживает неявное преобразование из других. Например, если источник данных может бытьdateилиdatetimeтипы, если значения содержат значение времени, то вы должны использоватьDateTimetype, поскольку он поддерживает хранение обоих типов.

Я работаю с чистыми данными?

Если данные чистые, вы должны выбрать тип данных, аналогичный целевой базе данных. Например, если исходный столбец может иметь тип данных или. При этом он всегда содержит значение, и ошибочных данных не существует. Тогда было бы лучше, если бы вы использовалиintegerтип данных в промежуточной таблице, поскольку он уменьшает размер буфера данных.

Что мне нужно в месте назначения данных?

Это самый важный вопрос, поскольку потребление данных должно привести вас к соответствующему типу данных.


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

Понимание требований задачи должно быть вашим первым шагом в принятии этого решения.

Другие вопросы по тегам