一个几十万条数据的两个表关联查询查询需要好几分钟。
1、通过mysql服务器监控发现大部分时间是 Sending data,找了好几个方法还是慢,通过sql的索引情况查看走的索引是对的,但是数据扫描的行数太多 ,extra是Using where,
2、通过另一个版本的mysql 执行 的速度很快,查看执行索引情况,extra是Using index condition,扫描行数就很少了。mysql在5.6版本后加入的新特性(Index Condition Pushdown);
一个几十万条数据的两个表关联查询查询需要好几分钟。
1、通过mysql服务器监控发现大部分时间是 Sending data,找了好几个方法还是慢,通过sql的索引情况查看走的索引是对的,但是数据扫描的行数太多 ,extra是Using where,
2、通过另一个版本的mysql 执行 的速度很快,查看执行索引情况,extra是Using index condition,扫描行数就很少了。mysql在5.6版本后加入的新特性(Index Condition Pushdown);