我有一个DATETIME字符串,我只需要脚本中的DATE在我的数据库中执行一些搜索。目前,我脑海中有两种情况,但不知道哪种情况更快。检索格式化日期时,哪种情况更快?
第一种方案:
在我的MySQL数据库,我有两列:datetime
(这是一个DATETIME型)和date
(这是一个日期型)。
然后,在我的PHP脚本,每次我保存的记录,我将我知道的字符串插入到datetime
字段,然后将其转换为适合date
场(我在想是这样的:$date = date("Y-m-d", strtotime($datetime))
)。
这样,所有必需的作品都存储在我的数据库中,我可以在运行中检索它们(datetime
和date
字段)。
第二场景:
MySQL数据库应该只由datetime
列。
我的PHP脚本会将已知字符串插入到datetime
字段中,而不做任何其他修改。
当我取回我的数据,我会做这样的事情:SELECT datetime, DATE(datetime) FROM ...
结论
哪个这些场景的速度更快,因此应该使用?日期格式应该保存还是取回?在格式化日期上,MYSQL比PHP快吗?将所有内容都存储在数据库中并以原样进行检索,或仅存储检索时的最小值和格式是否更好?哪种情况是最佳做法?
谢谢!
所以,你建议我只有'datetime'在我的数据库中的列,并使用检索到的'datetime'在PHP中检索'date'? – linkyndy
是的,'日期,strtotime'是你所需要的 – ajreal