1、重新定义关联表的顺序。
数据表中的关联并不总是按照查询中指定的顺序进行,决定关联顺序是优化器的重要功能。
2、将外连接转化为内连接。
并非所有的outerjoin语句都必须以外部连接的方式执行。许多因素,如where条件和库表结构,可能会将外部连接等同于内部连接。MySQL可以识别这一点并重写查询,以便调整关联顺序。
3、使用等价变换规则。
MySQL可以使用一些等价变换来简化和规范表达式。它可以合并和减少一些比较,也可以去除一些恒成立和一些恒不成立的判断。例如,(5=5anda>5)将改写为a>5。类似的,如果有(a5andb=canda=5)。
4、优化count(),min()和max()
索引和列是否为空通常有助于MySQL优化这种表达式。例如,为了找到一列的最小值,您只需要查询B-tree索引最左端的记录,MySQL就可以直接获得索引的第一行记录。
估计并转换成常数表达式。
5、覆盖索引扫描。
当索引中的列包含所有查询中需要使用的列时,MySQL可以使用索引返回所需的数据,而不需要查询相应的数据行。
6、优化子查询。
在某些情况下,MySQL可以将子查询转换成更高效的形式,从而减少多次查询对数据的访问。
以上就是mysql常见的优化类型,希望对大家有所帮助。更多mysql学习指路:
推荐操作系统:windows7系统、mysql5.8、DELL G3电脑