原句的sql是这样的:
“select DFVN from sparadata where StaID = :staId and DTime <= :today order by DTime desc limit 1;”
是做java web项目的时候要查询离指定时间最近的一条数据的DFVN的值,today是指定时间的变量,通过debug调试时发现执行速度太慢
高手们帮帮忙,比较急,有什么办法能优化下,或者能完成这个功能的情况下,改写也可以,感谢大家帮助
“select DFVN from sparadata where StaID = :staId and DTime <= :today order by DTime desc limit 1;”
是做java web项目的时候要查询离指定时间最近的一条数据的DFVN的值,today是指定时间的变量,通过debug调试时发现执行速度太慢
高手们帮帮忙,比较急,有什么办法能优化下,或者能完成这个功能的情况下,改写也可以,感谢大家帮助
CREATE INDEX part_of_name ON yourname(StaID,DTime );
explian select DFVN from sparadata where StaID = :staId and DTime <= :today order by DTime desc limit 1;
explian select DFVN from sparadata where StaID = :staId and DTime <= :today order by DTime desc limit 1;
2、如果没有建复合索引 (StaID,DTime,DFVN),可以建一个
像7楼说的复合索引 (StaID,DTime,DFVN)走了索引覆盖