我有一个关于在mysql数据库中存储日期的问题。这是它:
以INT
(毫秒)格式而不是yyyy-mm-dd hh:mm:ss格式存储日期是否合适?
例如,在撰写问题时,日期时间是2016-02-05 12:19:46。将此日期时间存储在数据库中以INT表示毫秒(1446xxxxxxx)格式是不是一个好主意?它会提高我的数据库性能吗?
答案 0 :(得分:2)
不,以整数格式(毫秒)存储日期并不是一种好习惯。因为无论何时您需要数据库中的日期,您都需要将其转换回日期格式,这会影响您的应用程序的性能。 在讨论Db的表现时,它会保持不变,因为它不会产生太大的影响,但它会成为你从数据库中检索日期并转换回日期格式的瓶颈。在您的申请中表示或使用。
但是如果你真的需要它,你就可以做到。我对您的应用场景及其使用情况不了解。
答案 1 :(得分:1)
这可能是一个基于意见的问题,但我的选择是应该避免将日期存储为int(以unix时间格式)。因为每次想要获取日期并以可读的格式显示日期时,这将变成一项非常繁琐的任务。
就性能而言,这取决于您的使用情况。事实上,int数据类型是datetime的一半大小。 此外,当涉及到排序时,与date数据类型相比,int可以更快( Didn&#t; tt )。 Also the performance of date datatype is faster than the int datatype.但是当涉及格式化时选择它们之后你想要的日期和显示目的,这将是困难和不必要的开销。