关于RDS mysql5.6版本对于子查询的优化介绍
发布日期:2015-11-9 10:11:13
关于RDS mysql5.6版本对于子查询的优化介绍 Mysql 5.6和5.5在优化器上对子查询的优化改进是最大的改进。 Mysql 5.0、5.1、5.5对子查询处理是这样的:在5.5之前的版本中,处理子查询的问题通常采用sql改写:将子查询改写为join的方式。原因是由于它不会将子查询的结果计算出来再与其他表做join,所以很有可能外层查询每扫描一条数据,子查询都会被重新执行一遍,这样就导致性能下降; Mysql 5.6对子查询处理方式不同于5.5以前,在5.6中采用了一种叫做Subquery Materialize的技术。它是将子查询的结果集cache到临时表里,临时表索引的主要目的是用来移除重复记录,并且随后也可能用于在做join时做查询使用。物化的子查询可以通过执行计划看到select_type字段为SUBQUERY,而物化的子查询在MySQL5.5里为DEPENDENT SUBQUERY。 如果问题还未能解决,请联系售后技术支持。
|