我將時間戳存儲爲int字段。並且在大型表上,因爲我使用的是mysql函數FROM_UNIXTIME,所以在日期中插入行需要很長的時間。作爲int字段的時間戳,查詢性能
SELECT * FROM table WHERE FROM_UNIXTIME(timestamp_field, '%Y-%m-%d') = '2010-04-04'
是否有任何方法來加快此查詢?也許我應該使用timestamp_field >= x AND timestamp_field < y
來查詢行嗎?
謝謝
EDITED這個查詢的偉大工程,但你應該照顧指數對timestamp_field。
SELECT * FROM table WHERE
timestamp_field >= UNIX_TIMESTAMP('2010-04-14 00:00:00')
AND timestamp_field <= UNIX_TIMESTAMP('2010-04-14 23:59:59')
請爲您的表發佈「SHOW CREATE TABLE table」。在該查詢中,將小寫的'table'更改爲您的真實表名,但不是大寫的TABLE,因爲這是該命令的一部分。 – 2010-04-29 15:34:00