在order by 时间字段加了索引,
单表查询一天内的数据(一天有十万数据,全表千万)order by的时候不需要走排序,直接索引取出,毫秒级响应。
但是联表之后orderby就走排序了,CPU代价大,直接花费十几秒甚至一分钟。
请问该如何优化
首先看看联表查询的目的。
如果只是为了取数据,可以先查后关联
如果需要过滤数据,关联的字段和条件加上相应索引
如果效果不太好的话,可以考虑分区
一天新增10万得数据了还不做分区,即便现在sql做了优化过半年一年以后得数据呢,整张表上亿得数据一样跑不动,建议做分区处理,这样会提升一点效率