Mysql查询优化从入门到跑路查询的基本操作
Posted 一寂知千秋
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql查询优化从入门到跑路查询的基本操作相关的知识,希望对你有一定的参考价值。
查询的基本操作
1.选择操作
对应的是限制条件,操作对象是二维表的行。
优化方式:选择操作下推
目的:尽量减少连接操作前的元租数,使得中间临时关系尽量少(元祖数少,连接得到的元组数就少)
好处:这样可能减少IO和CPU的消耗、节约内存空间
2.投影操作
对用的SELECT查询的目的列对象
优化方式:投影操作下推
目的:尽量减少连接操作前的列数,使得中间临时关系尽量小(选择操作是使元组的个数尽量少,投影操作是使一条元组尽量少)
好处:虽然不能减少IO(多数数据库存储方式是行存储,元组是读取的最基本单位,所以要想操作列必须读取一行数据),但可以各减少连接后的中间关系的元组大小,节约内存空间。
3.连接操作
连接操作有优化方式吗?
答案是毋庸置疑的
1.多表连接中每个表被连接的顺序决定着效率
2.多表连接每个表被连接的顺序被用户语义决定(内连接、外连接中的左连接等)
查询的2种类型
根据SQL语句的形式特点,还可以做如下区分:
1.针对SPJ的查询优化(如上诉三种基本操作)
2.针对非SPJ的查询优化(Group by等操作)
注:从下次开始讲解逻辑查询优化和物理查询优化,这些是数据库查询优化的重中之重!!!
以上是关于Mysql查询优化从入门到跑路查询的基本操作的主要内容,如果未能解决你的问题,请参考以下文章