排序是在Oracle中的DB缓冲区缓存还是PGA中进行的?

排序是在Oracle中的DB缓冲区缓存还是PGA中进行的?,oracle,database-performance,sql-tuning,Oracle,Database Performance,Sql Tuning,当从光盘或缓冲区高速缓存读取数据并需要排序时,该排序是在缓冲区高速缓存(SGA)还是PGA中完成的?如果这两种方法都有,那么这两种方法有什么区别?以及何时和为什么在缓冲区缓存或PGA中执行? 提前感谢排序在中完成,主要存储在PGA中。(;另请参见参数。) ()实际上只保存磁盘上的数据副本(或等待写入磁盘的数据)-不处理或处理缓冲区缓存中的数据。如果其中的数据可以更改,那么它就不是一个很好的缓存 排序行为的主要区别在于您是动态地还是事先(通过创建索引-也在PGA中完成)进行排序。如果您的数据已经排

当从光盘或缓冲区高速缓存读取数据并需要排序时,该排序是在缓冲区高速缓存(SGA)还是PGA中完成的?如果这两种方法都有,那么这两种方法有什么区别?以及何时和为什么在缓冲区缓存或PGA中执行? 提前感谢

排序在中完成,主要存储在PGA中。(;另请参见参数。)

()实际上只保存磁盘上的数据副本(或等待写入磁盘的数据)-不处理或处理缓冲区缓存中的数据。如果其中的数据可以更改,那么它就不是一个很好的缓存

排序行为的主要区别在于您是动态地还是事先(通过创建索引-也在PGA中完成)进行排序。如果您的数据已经排序,Oracle可能会将索引读取到缓冲区缓存中(这一部分我不清楚),但查询速度显然会快得多