我在很多表中都存储了一个修改日期字段。有时我需要将时间部分用于我的逻辑,有时我只需要日期部分。我想知道以下哪种情况更有效/最佳实践:
存储两列 - 一列是 DATE 类型,一是 DATETIME 类型 - 它们都代表时间上的相同实例,但其中 DATE 列显然只存储日期部分。当我只需要对日期进行比较时,我使用 DATE 列,而当我需要进行包含时间的比较时,我使用 DATETIME 列。
存储一列 DATETIME 类型的列,并在需要时使用 CONVERT(DATE, Date_Amended_Col) 检索日期部分。
每次使用 CONVERT 都会有很大的开销吗?我认为 DATE 部分可能是访问频率更高的部分,所以我觉得我会经常使用 CONVERT。
我想不出第二种方法有任何明显的缺点,除了在进行修改时需要更新两个字段而不是只更新一个字段,如果我觉得有必要,我总是可以使用触发器。
或者,还有更好的方法?使用计算列是否与每次使用 CONVERT 相同?
任何想法将不胜感激。
非常感谢,
铝