回过头来,一位数据库管理员向我提到,一些服务器端程序员不会经常使用SQL
。例如,当它进行基于时间的计算时,他声称SQL
更适合。在PHP或MySQL中日期计算更快吗?
我没有给予太多的考虑,因为它并没有真正影响我在做什么。但是,现在我正在进行相当长时间的计算。通常,我在过去曾使用过PHP
。为了表现,我很好奇SQL
会更有效率。
例如,这些都是一些任务,我一直在做:
$todaysDate = date("d-m-Y");
$todayStamp = strtotime($todaysDate); //Convert date to unix timestamp for comparison
$verifyStamp = strtotime($verifyDate); //Convert submitted date to unix timestamp for comparison
//The date comparison
if((strtotime($lbp) <= $verifyStamp) && ($verifyStamp <= $todayStamp)){
return true;
}
else {
$invalid = "$verifyDate is outside the valid date range: $lbp - $todaysDate.";
return $invalid;
}
的变量并不是那么重要 - 它只是为了说明,我进行比较,将时间设置为当前日期等
如果我要将部分或全部这些任务转换为SQL
,会有好处吗?请注意,我与我的数据库的连接是通过PDO
,我通常必须创建一个新的连接。另外,我的日期计算通常会被插入到数据库中。所以,当我说我正在做的比较或添加时间当前日期,我的意思是我加入从他们无论结果查询之前进行这些计算:
即$result = something...INSERT INTO table VALUE = $result
的计算可以同样容易INSERT INTO table VALUE = DATE_ADD(...
任何输入表示赞赏。
为什么不建立一个测试和时间呢? – webnoob
个人而言,我喜欢在最终用户的计算机上尽可能多地进行计算(假设他们已启用JavaScript) – Strawberry
尽可能使用PHP进行计算,但不要从数据库中获取比所需更多的行。 Web服务器比数据库服务器更容易多个数据库,因此数据库负载应该保持最小。 – anttir