2013-09-01 78 views
1

我有一個包含10000個記錄的表。每個數據都有創建時間。我可以使用PHP time()函數或Mysql Timestamp(DATETIME'0000-00-00 00:00:00')。 我想知道哪種方法提高了select查詢的性能? 例如作爲Unixtime而不是Mysql的Mysql時間記錄時間戳

Select * FROM MYDB WHERE datefield>1343821692 ORDER BY datefield DESC 

Select * FROM MYDB WHERE datefield>'2012-08-01 13:41:1' ORDER BY datefield DESC 

請注意,排序的,而不是爲了DATETIME INT的差異這個問題基地。限制也有差異。

+0

可能重複[日期時間VS時間戳?](http://stackoverflow.com/questions/409286/datetime-vs-timestamp) – superEb

+0

它相似但不重複。當我按照「排序」和「限制」的方式使用日期時,這裏我對演奏很有意思。 – Huseyin

回答

1

我想知道哪種方法提高了選擇 查詢的性能?

如果一個設置綁定到磁盤使用情況,可以預期INT性能會更好,因爲存儲需求較小。然而,使用它作爲時間戳的計算量也可能是壓倒性的。

檢查this出。

至於有使用來說,你可以參考這個Thread這將引導您何時使用unix_time以及何時使用的其他

+0

排序INT比排序DATETIME或反向更快? – Huseyin

+0

@Huseyin: - 是的,你是對的。 Int相對更快。我已經用一個顯示差異的鏈接更新了我的答案。希望能幫助到你!!!對於之前的答案感到抱歉:) –