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

    查询的基本操作
    1.选择操作
    对应的是限制条件,操作对象是二维表的行。
        优化方式:选择操作下推
        目的:尽量减少连接操作前的元租数,使得中间临时关系尽量少(元祖数少,连接得到的元组数就少)
        好处:这样可能减少IO和CPU的消耗、节约内存空间
    2.投影操作
    对用的SELECT查询的目的列对象
        优化方式:投影操作下推
        目的:尽量减少连接操作前的列数,使得中间临时关系尽量小(选择操作是使元组的个数尽量少,投影操作是使一条元组尽量少)
        好处:虽然不能减少IO(多数数据库存储方式是行存储,元组是读取的最基本单位,所以要想操作列必须读取一行数据),但可以各减少连接后的中间关系的元组大小,节约内存空间。
    3.连接操作
        连接操作有优化方式吗?
        答案是毋庸置疑的
        1.多表连接中每个表被连接的顺序决定着效率
        2.多表连接每个表被连接的顺序被用户语义决定(内连接、外连接中的左连接等)
     
    查询的2种类型
    根据SQL语句的形式特点,还可以做如下区分:
    1.针对SPJ的查询优化(如上诉三种基本操作)
    2.针对非SPJ的查询优化(Group by等操作)
     
    注:从下次开始讲解逻辑查询优化和物理查询优化,这些是数据库查询优化的重中之重!!!
  • 相关阅读:
    Spring AOP中pointcut expression表达式解析
    java中Action层、Service层和Dao层的功能区分
    vim对erlang语法支持
    svn跳过某个目录
    时间,闰秒,及NTP
    grep
    【转】MySql数据库--mysql_real_escape_string()函数
    Linux sed 批量替换多个文件中的字符串
    求最大公约数
    怎么利用SQL语句查询数据库中具体某个字段的重复行
  • 原文地址:https://www.cnblogs.com/WardSea/p/7496783.html
Copyright © 2011-2022 走看看