我想从00:00 AM到06:00 AM排除表格中的记录
这样可行,但速度不够快。
select * from table_x where archive != 1
and (
moment not like '% 00:%'
and moment not like '% 01:%'
and moment not like '% 02:%'
and moment not like '% 03:%'
and moment not like '% 04:%'
and moment not like '% 05:%'
);
字段“时刻”是日期时间类型 例如:“2014-01-24 01:02:03”
我想优化查询。
[编辑]
它必须每天从00:00 AM到06:00 AM排除。
答案 0 :(得分:1)
使用当前的表架构,没有一种索引有效的方法。您需要为HOUR(moment)
添加一个额外的列,或者只需要一个布尔值,从数据中填充它,并对其进行适当的索引。