首先看一下两个词的定义
arraysize
Arraysize specifies how many rows SQL*Plus will fetch in a call. The number n can be between 1 and 5000.
arraysize定义了一次返回到客户端的行数,当扫描了arraysize 行后,停止扫描,返回数据,然后继续扫描。所以假如一个数据块超过Arraysize设置的值就要被扫描多次.
consistent gets
Number of times a consistent read was requested for a block.
在使用sqlplus查看执行计划的时候,经常看consistent gets这个值,如下:
表CS_PERFORMANCE_CURRENT有15472条数据,3072个数据块,因此consistent gets =15472/15+472=1503.46666666667.当arraysize设置成400时,consistent gets =15472/400+472=510.68,当arraysize设置成5000时,consistent gets =15472/5000+472=475.0944。