- SQL的执行顺序
sql的执行顺序是从后向前执行
–frist 执行from关键字后面的语句,搞清楚数据的来源,它是从哪张表取来的。
–second 执行where关键字后面的语句,过滤数据,从后向前执行。
–third 执行group by后面的语句,对数据进行分组分类,where完了就开始分组,若存在having关键字,则会先进行分组,再执行过滤。
–fourth 执行select后面的语句,换句话说就是对处理好的数据而言,具体要取哪一部分的数据。
–fifth 执行order by后面的语句,对最终的结果进行排序。
-
大表关联查询的优化
大表关联优化步骤:
1. 将大表先最大可能的过滤下数据,使过滤后的数据量达到最小(数据量尽可能达到最小,过滤时尽量使用索引过滤,这样关联时速度就会快很多)
2. 关联时,用少数据量去关联大数据量的,关联字段尽量用索引关联 -
联合索引的顺序
eg: create index ACCOUNTING.INX_CANCEL_ACC_FRZ_DETL_BAPD on
ACCOUNTING.CANCEL_ACCOUNT_FROZEN_DETAILS (ACCOUNT_ID, PRODUCT_ID,
DBI_ID, BILL_MONTH)这四个字段ACCOUNT_ID, PRODUCT_ID, DBI_ID, BILL_MONTH的顺序是: 根据数据的重复度排先后顺序,若account_id重复度最高,则排在第一位,product_id重复度二高,就排第二,依次类推
- 执行计划
具体的优化,要看执行计划,根据业务拆分sql,还是根据索引来拆分数据
本文详细阐述了SQL语句的执行顺序,包括FROM-WHERE-GROUP BY-HAVING-SELECT-ORDER BY的步骤,并探讨了大表关联查询的优化方法,如先过滤大表数据、利用索引和合适的数据量进行关联。同时,提到了联合索引的创建原则,即按字段重复度排序。优化SQL执行的关键在于理解执行计划并依据业务需求调整SQL结构或利用索引。
2815

被折叠的 条评论
为什么被折叠?



