Oracle的ARRAYSIZE对逻辑I/O的影响?

ARRAYSIZE对逻辑I/O的影响是个很有意思的话题。ARRAYSIZE是数据库每个批次向客户端返回的行数。客户端会缓存这些行,处理完这些缓存的数据之后,它会向数据库请求下一批数据。ARRAYSIZE对查询执行的逻辑I/O可能有非常重要的影响,因为如果客户端在不同批次的请求之间,数据库需要反复地读取同一个块,那么数据库就得一而再、再而三地从缓冲区缓存获取这个块。因此,如果客户端要处理100行数据,并且能在一个批次内传送回来,那么Oracle可能只需处理一个数据库块,而无需再次读取这个块;如果一个批次只请求15行,那Oracle就必须反复地读取同一个块来拿到同样的结果。



那对于ARRAYSIZE如何调用批次以及每批次处理的数据量、是智能分配还是说有固定的参数来约定了这个量?


ARRAYSIZE对逻辑I/O的影响是个很有意思的话题。ARRAYSIZE是数据库每个批次向客户端返回的行数。客户端会缓存这些行,处理完这些缓存的数据之后,它会向数据库请求下一批数据。ARRAYSIZE对查询执行的逻辑I/O可能有非常重要的影响,因为如果客户端在不同批次的请求之间,数据库需要反复地读取同一个块,那么数据库就得一而再、再而三地从缓冲区缓存获取这个块。因此,如果客户端要处理100行数据,并且能在一个批次内传送回来,那么Oracle可能只需处理一个数据库块,而无需再次读取这个块;如果一个批次只请求15行,那Oracle就必须反复地读取同一个块来拿到同样的结果。


ARRAYSIZE对逻辑I/O的影响是个很有意思的话题。ARRAYSIZE是数据库每个批次向客户端返回的行数。客户端会缓存这些行,处理完这些缓存的数据之后,它会向数据库请求下一批数据。ARRAYSIZE对查询执行的逻辑I/O可能有非常重要的影响,因为如果客户端在不同批次的请求之间,数据库需要反复地读取同一个块,那么数据库就得一而再、再而三地从缓冲区缓存获取这个块。因此,如果客户端要处理100行数据,并且能在一个批次内传送回来,那么Oracle可能只需处理一个数据库块,而无需再次读取这个块;如果一个批次只请求15行,那Oracle就必须反复地读取同一个块来拿到同样的结果。


ARRAYSIZE对逻辑I/O的影响是个很有意思的话题。ARRAYSIZE是数据库每个批次向客户端返回的行数。客户端会缓存这些行,处理完这些缓存的数据之后,它会向数据库请求下一批数据。ARRAYSIZE对查询执行的逻辑I/O可能有非常重要的影响,因为如果客户端在不同批次的请求之间,数据库需要反复地读取同一个块,那么数据库就得一而再、再而三地从缓冲区缓存获取这个块。因此,如果客户端要处理100行数据,并且能在一个批次内传送回来,那么Oracle可能只需处理一个数据库块,而无需再次读取这个块;如果一个批次只请求15行,那Oracle就必须反复地读取同一个块来拿到同样的结果。


ARRAYSIZE对逻辑I/O的影响是个很有意思的话题。ARRAYSIZE是数据库每个批次向客户端返回的行数。客户端会缓存这些行,处理完这些缓存的数据之后,它会向数据库请求下一批数据。ARRAYSIZE对查询执行的逻辑I/O可能有非常重要的影响,因为如果客户端在不同批次的请求之间,数据库需要反复地读取同一个块,那么数据库就得一而再、再而三地从缓冲区缓存获取这个块。因此,如果客户端要处理100行数据,并且能在一个批次内传送回来,那么Oracle可能只需处理一个数据库块,而无需再次读取这个块;如果一个批次只请求15行,那Oracle就必须反复地读取同一个块来拿到同样的结果。


那对于ARRAYSIZE如何调用批次以及每批次处理的数据量、是智能分配还是说有固定的参数来约定了这个量?


ARRAYSIZE对逻辑I/O的影响是个很有意思的话题。ARRAYSIZE是数据库每个批次向客户端返回的行数。客户端会缓存这些行,处理完这些缓存的数据之后,它会向数据库请求下一批数据。ARRAYSIZE对查询执行的逻辑I/O可能有非常重要的影响,因为如果客户端在不同批次的请求之间,数据库需要反复地读取同一个块,那么数据库就得一而再、再而三地从缓冲区缓存获取这个块。因此,如果客户端要处理100行数据,并且能在一个批次内传送回来,那么Oracle可能只需处理一个数据库块,而无需再次读取这个块;如果一个批次只请求15行,那Oracle就必须反复地读取同一个块来拿到同样的结果


