zoukankan      html  css  js  c++  java
  • Mysql查询优化从入门到跑路(三)查询的基本操作

    查询的基本操作
    1.选择操作
    对应的是限制条件,操作对象是二维表的行。
        优化方式:选择操作下推
        目的:尽量减少连接操作前的元租数,使得中间临时关系尽量少(元祖数少,连接得到的元组数就少)
        好处:这样可能减少IO和CPU的消耗、节约内存空间
    2.投影操作
    对用的SELECT查询的目的列对象
        优化方式:投影操作下推
        目的:尽量减少连接操作前的列数,使得中间临时关系尽量小(选择操作是使元组的个数尽量少,投影操作是使一条元组尽量少)
        好处:虽然不能减少IO(多数数据库存储方式是行存储,元组是读取的最基本单位,所以要想操作列必须读取一行数据),但可以各减少连接后的中间关系的元组大小,节约内存空间。
    3.连接操作
        连接操作有优化方式吗?
        答案是毋庸置疑的
        1.多表连接中每个表被连接的顺序决定着效率
        2.多表连接每个表被连接的顺序被用户语义决定(内连接、外连接中的左连接等)
     
    查询的2种类型
    根据SQL语句的形式特点,还可以做如下区分:
    1.针对SPJ的查询优化(如上诉三种基本操作)
    2.针对非SPJ的查询优化(Group by等操作)
     
    注:从下次开始讲解逻辑查询优化和物理查询优化,这些是数据库查询优化的重中之重!!!
  • 相关阅读:
    svn搭建多版本共存记录
    python中使用redis
    小程序之使用腾讯地图获取经纬度
    vue路由元之进入路由需要用户登录权限功能
    input type="tel" 数字输入框显示圆点
    input在IOS中的聚焦问题
    JS实现手机号码中间4位变星号
    CSS实现div填充剩余高度
    小程序之地图导航
    小程序之点击图片放大预览
  • 原文地址:https://www.cnblogs.com/WardSea/p/7496783.html
Copyright © 2011-2022 走看看