2012-04-29 73 views
0

在SQL中,我可以通过格式化日期字段如下:SQL DATE_FORMAT()与PHP的日期()

SELECT article_name, DATE_FORMAT(article_date, '%b %e, %Y') AS my_date FROM tblArticles 

同样的事情可以在PHP中使用来完成:

echo date('M j, Y', strtotime($row['article_date'])); 

而且在我的页面中,会有大约50多个项目。所以,在PHP中,我会遍历记录,格式化日期并打印它们。如果我在查询本身中使用date_format(),则可以避免通过PHP完成的格式设置。

因此,在这两种方法中,您更喜欢哪一种(关于性能)? 我的网页可能会获得好几次命中,并且此应用将托管在共享主机中。所以,我现在关心的是表现。我只是不想给我的服务器增加更多的负载。 :)

在此先感谢..

回答

3

在SQL尽一切可能比在PHP做的更快,但是你应该分析代码找出确切的情况。您可能还有更好的地方进行优化,因为这不太可能成为系统性能瓶颈。确定您的优化注意力集中在哪里的最好方法是分析您的代码。否则,你冒着风险优化那些没有什么区别的东西。

+0

谢谢。我会尝试对它进行基准测试,并试图找出答案。 – 2012-04-29 10:26:52

+0

+1关于不需要的优化的说明 - 这可能不是OP需要关心的事情。 – 2012-04-29 19:53:27

+0

一个strtotime()迭代需要4-4.5毫秒的时间。不是问题,除非代码的其余部分执行时间少于此时间。 – Xeos 2013-12-26 15:10:20

0

实际上,你的问题中的表现没有任何关系。

请不要随意询问与表现有关的问题。试着找出他们的任何理由。 否则,你可能会占用你自己很多年,像“使用什么功能?”这样的“重要”问题。 “以什么顺序写操作员”等。

性能方面没有差异。这种愚蠢的数据转换决不会影响它。
大型数据处理应该是您的关注点,而不是简单的格式化功能。

+0

好的谢谢。我知道了。 – 2012-04-30 04:18:50