sql执行顺序及性能优化

  

sql语句的执行步骤:
1。语法分析
2。语义分析
3。视图转换
4。表达式转换
5。选择优化器
6。选择连接方式
7。选择连接顺序
8。选择数据的搜索路径
9。运行“执行计划”

  

sql查询处理的步骤:
(8)(9)选择不同的(11)& lt; TOP_specification> & lt; select_list>
(1) & lt; left_table>
(3) & lt; join_type> JOIN
(2) & lt; join_condition>
(4) & lt; where_condition>
(5)集团& lt; group_by_list>
(6)与(立方体|汇总)
(7) & lt; having_condition>
(10)订单& lt; order_by_list>

  

不同对整行进行防重
甲骨文,mysql不支持选择高级语句
orale:
有只能放在group by之后
group by后只能非聚合函数的列
group by要求选择后的字段是分组字段或聚合函数
mysql:
有可以单独使用
集团通过对选择后的字段没有限制

  

内连接|完全外连接左右加入|加入|
mysql不支持完全外连接

  

选择f1, f2 table_name GROUP BY立方体(f1、f2);
选择f1, f2 table_name组的汇总(f1、f2);
汇总只对第一个参数的列进行统计,多维数据集都会进行统计

sql执行顺序及性能优化