2009-11-19 150 views
0

我试图测量的是速度更快,什么应该是比较两个日期,从MySQL数据库的日期时间记录的最佳途径。有几种方法如何抓住从日期时间的日期,但我是集中在两个一个是使用DATE函数和第二个是使用LEFT功能,这样的事情Mysql从datetime比较两个日期?

DATE(created_on)

,和左功能

LEFT(created_on,10)

它看起来就像那些功能相同的工作在我身边。 有没有更好的解决方案?或更快的解决方案

+0

DATE()正是为。由于自动类型转换和MySQL固定日期表示,LEFT()工作。 我认为这并不是让你放慢速度的事情:从磁盘读取表格页面的几个数量级较重的操作。 – 2009-11-19 17:12:28

回答

1

最好的办法是始终使用,做你的意图的目的是什么功能。既然你希望得到一个日期字段的日期部分,使用DATE功能。

如果你的预期目的是获得一个日期字段的最左边的10个字符,请使用LEFT功能。

对于所有的实际目的,结果可能是一样的。但软件开发中唯一不变的就是变化。例如,如果MySql决定改变日期在下一个版本中的存储方式(例如自某个日期以来的纪元数),那该怎么办呢?您使用LEFT函数的代码可能会失败或返回不合需要的结果。使用DATE函数的代码将继续工作。