Mysql查询优化从入门到跑路查询的基本操作

Posted 一寂知千秋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql查询优化从入门到跑路查询的基本操作相关的知识,希望对你有一定的参考价值。

查询的基本操作
1.选择操作
对应的是限制条件,操作对象是二维表的行。
    优化方式:选择操作下推
    目的:尽量减少连接操作前的元租数,使得中间临时关系尽量少(元祖数少,连接得到的元组数就少)
    好处:这样可能减少IO和CPU的消耗、节约内存空间
2.投影操作
对用的SELECT查询的目的列对象
    优化方式:投影操作下推
    目的:尽量减少连接操作前的列数,使得中间临时关系尽量小(选择操作是使元组的个数尽量少,投影操作是使一条元组尽量少)
    好处:虽然不能减少IO(多数数据库存储方式是行存储,元组是读取的最基本单位,所以要想操作列必须读取一行数据),但可以各减少连接后的中间关系的元组大小,节约内存空间。
3.连接操作
    连接操作有优化方式吗?
    答案是毋庸置疑的
    1.多表连接中每个表被连接的顺序决定着效率
    2.多表连接每个表被连接的顺序被用户语义决定(内连接、外连接中的左连接等)
 
查询的2种类型
根据SQL语句的形式特点,还可以做如下区分:
1.针对SPJ的查询优化(如上诉三种基本操作)
2.针对非SPJ的查询优化(Group by等操作)
 
注:从下次开始讲解逻辑查询优化和物理查询优化,这些是数据库查询优化的重中之重!!!

以上是关于Mysql查询优化从入门到跑路查询的基本操作的主要内容,如果未能解决你的问题,请参考以下文章

Mysql查询优化从入门到跑路数据库与关系代数

mysql数据库从删库到跑路之mysq索引

MySQL 从删库到跑路

mysql数据库从删库到跑路之mysql多表查询

mysql数据库从删库到跑路之mysql:视图触发器事务存储过程函数

linux 从入门到跑路