1.client发出一条sql的时候我们为相应的产生一个内存进程叫server process
2.server process的第一个经过pga,之后到达sga的shared pool,
3.先进行表和权限的检查,如果满足就查找执行计划,如果执行计划存在叫软解析,
4.不存在的话产生多种计划选一个最优的计划叫硬解析
5.之后去buffer cache读取数据。如果有数据。发生逻辑读
6.如果没有数据就去dbf读取,发生物理读。
7.最后,如果这个语句中有排序,在返回给用户的时候会在pga内排序之后在给用户(若是,表较大,先把数据放到临时表空间,一部分一部分的读取到pga排序,之后给用户)
ORACLE中一条查询SQL,到底是怎执行的
最新推荐文章于 2024-07-23 17:37:44 发布