2009-11-19 102 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函數的代碼將繼續工作。