Oracle能对多少数据进行排.序Oracle能对多少 行数据进行排.序,超过多少 行后,性能才会下降.Oracle能对多少MB数据进行排.序,超过多少MB数据后,性能才会下降.

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/14 11:24:05
Oracle能对多少数据进行排.序Oracle能对多少 行数据进行排.序,超过多少 行后,性能才会下降.Oracle能对多少MB数据进行排.序,超过多少MB数据后,性能才会下降.

Oracle能对多少数据进行排.序Oracle能对多少 行数据进行排.序,超过多少 行后,性能才会下降.Oracle能对多少MB数据进行排.序,超过多少MB数据后,性能才会下降.
Oracle能对多少数据进行排.序
Oracle能对多少 行数据进行排.序,超过多少 行后,性能才会下降.
Oracle能对多少MB数据进行排.序,超过多少MB数据后,性能才会下降.

Oracle能对多少数据进行排.序Oracle能对多少 行数据进行排.序,超过多少 行后,性能才会下降.Oracle能对多少MB数据进行排.序,超过多少MB数据后,性能才会下降.
Oracle的v$sysstat视图存储了排序的信息,包括磁盘排序和内存排序:
(1)sorts(memory) 是在SORT_AREA_SIZE中的排序操作的数量(由于是在SORT_AREA_SIZE中,因此不需要在磁盘进行排序).
(2)sorts(disk) 则是由于排序所需空间太大,SORT_AREA_SIZE不能满足而不得不在磁盘进行排序操作的数量.
这两项统计通常用于计算In-memory sort ratio.In-memory sort ratio表示内存中完成的排序所占的比例.理想状态下,在OLTP系统中,大部分排序不仅小并且能够完全在内存里完成排序.In-memory sort ratio的计算公式如下:
sorts (memory) / ( sorts (memory) + sorts (disk) )
可通过执行以下SQL语句计算得出In-memory sort ratio:
select a.value/(b.value+c.value)
from v$sysstat a,v$sysstat b,v$sysstat c
where a.name='sorts (memory)' and
b.name='sorts (memory)' and c.name='sorts (disk)';
性能好的话,应该是大部分排序在内存中进行.对于要做大量排序操作的SQL语句的执行(如select * from tt order by 1,2,3,4;),可监控到sort(disk)和sort(memory)都会有所上升.
如果Oracle的SORT_AREA_SIZE参数设置比较小,则大量排序被放到磁盘中进行,导致执行效率低下.
Sort(disk)/ Sort(memory)应该保持小于5%的状态,如果超过5%,就应该考虑增加sort_area_size的值(通过调整PGA来完成).