sql server:存储datetime vs long text

时间:2011-12-09 13:19:18

标签: sql sql-server-2005

我有一种情况可以通过添加一个日期时间或ntext类型的列来解决。

就性能而言,哪种更好用。记录的数量超过60000.我正在考虑日期时间,因为我可以为它编制索引,但不确定ntext是否可以...任何建议或讨论将处理内存,速度更好......或任何其他性能问题?

更新:我要添加的列是独立的 - 一个是日期时间,另一个是文本,我可以通过让任何人解决问题,注意:我不是在尝试将datetime存储为ntext。

3 个答案:

答案 0 :(得分:2)

如果数据是DATETIME,请使用DATETIME

当您需要进行日期和时间操作时,查询文本字段时会遇到问题。

性能明智 - DATETIME为8个字节,NVARCHAR用于存储日期的时间会更长。需要日期/时间工作的操作需要使用NVARCHAR字段进行转换,这比仅使用DATETIME列更昂贵。

答案 1 :(得分:2)

60000条记录对SQL Server来说无关紧要 所以不应该有任何明显的区别。如果它是一个非常大的表(数以亿计的记录,以上......),可能会有所不同,但不会与您的数据量有关。

然而,正如其他人已经说过的那样:你可以使用datetime或ntext的声明对我来说听起来很奇怪。如果它确实是日期和/或时间值,请使用datetime而不是ntext !!!


修改

现在您已澄清您不希望在文本列中存储日期值:
我建议您使用datetime列。这比表现明智的ntext要好。

作为旁注:如果您更喜欢使用文字列,则应使用nvarchar(max)代替ntextntext速度较慢且已弃用。

答案 2 :(得分:1)

这是两个完全不同的领域。如果您需要存储日期使用日期时间,如果您需要存储文本使用varchar或长文本。不要将日期存储为文本!