2012-04-29 31 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