SQL Server中的Datetime2与字符串性能对比

时间:2019-02-22 20:10:58

标签: sql-server datetime2

在SQL Server中使用类型为datetime2的列而不是字符串有什么好处?显然,字符串要灵活得多。查询时有性能优势吗?

我正在设计一个数据库,其中所有条目都是通过另一种语言的函数添加的,因此不必担心未格式化为日期的值将被添加到所讨论的列中。我正在考虑使该列类型为字符串,以便在查询时可以更轻松地解析它们。将它们添加到数据库后,它们会从Python的datetime格式(按惯例在几分之一秒内具有六位数的精度)转换为具有七位的datetime2格式。将列设置为字符串类型将阻止这种情况的发生,但是我担心不使用datetime2可能会导致性能问题。

1 个答案:

答案 0 :(得分:4)

Datetime2(和其他日期/时间类型):

  • 将节省您的存储空间,最终将成为 性能提升。
  • 将使您轻松进行日期数学运算而无需 必须创建程序来确定2月是否会 28或29天(仅举一个例子)。
  • 具有内置的限制,因此您不必担心有人会插入 失效日期。
  • 可以轻松转换为不同格式
  • 可以提取其部分,包括一年中的几周,工作日或几天。
  • 依此类推...