2010-05-11 104 views
2

在MySQL中索引日期時間的最佳方式是什麼?該方法是更快:MySQL索引日期時間

  1. 商店的日期時間爲雙(經由Unix時間戳)
  2. 商店的日期時間作爲日期時間

的應用生成的時間戳數據可以輸出格式。不幸的是,日期時間將是這個特定數據結構的關鍵,所以速度將會很重要。

另外,是否有可能對錶達式做索引?例如,UNIX_TIMESTAMP(mydate)的索引,其中mydate是表中的字段,UNIX_TIMESTAMP是mysql函數。我知道Postgres can do it。我想在MySQL中也一定有辦法。

回答

3

我不認爲任何一種方法都會比另一種方法快得多,但如果選擇'日期時間',使用標準日期時間函數將會更容易。

MySQL不支持functional indexes

-1

我認爲使用整數會更快,因爲where datetime >= '2010-09-30 01:31:41'永遠不會遇到索引。但是where intTimestamp >= 237492347會。

+4

爲什麼不使用索引? – Tamlyn 2012-03-29 16:14:37

+0

它確實命中一個索引(只要索引在那裏)。您可以*使用'EXPLAIN SELECT(...)'挖掘MySQL進行查詢的方式 – Frankie 2013-07-18 10:05:23