MySQL curdate()和now()vs PHP date()

时间:2014-06-17 14:08:18

标签: php mysql sql performance date

我的查询就是这样的:

$query = "... WHERE timestamp > :thisMonday AND timestamp <= :lastMonday";
$query_params[":thisMonday"] = date('Y-m-d', strtotime('monday this week'));
$query_params[":lastMonday"] = date('Y-m-d', strtotime('monday last week'));

通过这个查询我得到了上周的结果(从上周星期一到上周星期日)。

我也为此找到了一个MySQL解决方案,但要么它们不能正常工作(例如,最后一个星期一就是最后一个星期一而不是星期一的星期一),或者它们对于像这样的简单任务来说非常复杂。 / p>

我发现了这个: https://online.promoters.ro/web-design-development/mysql-curdate-and-now-vs-php-date-heavy-server-load.html 其中说总是使用PHP。

而这:Faster to use MySQL's CURDATE() or PHP's date()? 这说明取决于此。但我不确定我的任务的最佳方式是什么。

1 个答案:

答案 0 :(得分:0)

只是给你一个答案,即使它可能是错的,这只是我的意见。

您提供的第一个链接:https://online.promoters.ro/web-design-development/mysql-curdate-and-now-vs-php-date-heavy-server-load.html;我以为是完全有偏见,并没有提供任何证据,除了引起服务器问题外,我什么也没说。但我不认为他在测试时会考虑其他数据,或者是否可能是一个不同的问题。还没有写文章的日期,所以我们只能猜出他正在使用的MySQL服务器版本。

我的意见是将日期格式保留为原始语言。所以来自Php - &gt; MySQL - &gt; PHP的。我认为这可能是最好和最安全的方式。另一种观点是,操纵时间变量更容易。