如果按int排序更快,使用按int排序的功能按DateTime对表进行排序的技巧是什么?
答案 0 :(得分:1)
假设所有其他事情都相同(两列都被类似地索引或没有索引),理论上排序int
列应该更快,因为它们更小(4个字节对8个字节),这可以使个别比较更快。
答案 1 :(得分:1)
如果您正在尝试优化日期/时间排序,这真的很重要,您可能需要考虑smalldatetime
类型。
这是一个32位数字,因此它的排序速度与int
一样快,但与datetime
相比,可接受日期的范围较小(1900-2079)并四舍五入到最接近的分钟
答案 2 :(得分:0)
你到底要问这个问题?
如果您为datetime
建立索引,那么您应该从列中获得有效的排序。
更好的是,将datetime
字段设置为表的聚簇索引,这应该是最有效的方法。
答案 3 :(得分:0)
您是否尝试通过一些技巧来提高对Datetime字段进行排序的性能?如果是这样,我会让SQL Server自己进行优化,并保持代码清晰,易于阅读。在日期时间字段上有一个索引。
答案 4 :(得分:0)
int更快,因为您必须更少地点击硬盘驱动器以从中提取数据以进行排序。整数也小于日期时间。
在星型模式中,通常使用整数来存储指向另一个具有实际日期时间的表的指针。当日期时间存储在另一个表上并且还将日期部分(如DayOfYear或Hour或Second)分解为单个列时,这也很有用。然后可以对这些列进行索引,以提高对dateparts的查询的性能。