选择字段大于某一日期的行的最快方法是什么?
WHERE date > FROM_UNIXTIME(12345)或
WHERE UNIX_TIMESTAMP(date) > 12345或
WHERE date > '2011-05-01 09:00:00'发布于 2015-12-19 17:52:20
最慢的是:
WHERE UNIX_TIMESTAMP(date) > 12345因为每次都必须对每一行调用unix_timestamp函数,如果存在,则不会使用date列上的索引。其他的几乎是同等的:
WHERE date > FROM_UNIXTIME(12345)
WHERE date > '2011-05-01 09:00:00'函数from_unixtime只会被调用一次,甚至字符串也只会被解析一次,不会有任何区别,但是我更喜欢最后一个,因为它更易读。
当然,不要忘记索引日期列:
alter table tablename add index idx_date (date)https://stackoverflow.com/questions/34373589
复制相似问题