• 数据库中sql执行顺序是什么?


    一、sql执行顺序:

    1. from 

        确定哪张表

    2. where 

        筛选条件

    3. group by ... having   

        分组语句,通常配合使用。 having是对分组后的数据进行筛选,性能消耗高

    4. 聚合函数     

        常用聚合函数:

        max(),min(),sum(),avg(),count(),

        all() 表示所有,所有都满足才返回true,any()表示任何一个,只要满足一个就返回true

    5. select 

       选出要查询的字段

    6. order by 

       排序语句

    7. top

        查询最前面的一部分数据

    二、where后面条件的执行顺序:

           mysql、sqlserver 从左往右执行

           oracle 从右往左执行

           筛选掉数据越多的条件,越放到前面执行,可以提高数据库查询效率

    eg:  select languages_id, type,products_id from table t  where t.languages_id=1 and t.type=1 and t.products_id in (5,6)

          在mysql中,如果 t.products_id in (5,6) 筛选的数据更多,其次 t.languages_id=1,则应该将t.products_id in (5,6) 放在最左边

       

          ** 大多数时候,mysql会自动选择最优的执行顺序,但是有时候mysql不能做出最优的执行顺序,就需要我们自己判断哪种过滤最优。

  • 相关阅读:
    Redis企业级数据备份与恢复方案
    使用canal增量同步mysql数据库信息到ElasticSearch
    SpringBoot基于数据库实现简单的分布式锁
    SpringBoot+ShardingSphere实现分库分表 + 读写分离
    SpringBoot 使用JestClient操作Elasticsearch
    Java 操作 MongoDB
    VS C#开发中WinForm中Setting.settings的作用
    Sql 触发器禁用和启用
    ROW_NUMBER over (order by **)
    Aspen 安装
  • 原文地址:https://www.cnblogs.com/qianlang/p/16287012.html
Copyright © 2020-2023  润新知