一个执行计划就是告诉Oracle对于每一个表对象使用哪种访问方法以及什么联接和联接顺序来将多个表联接到一起的一系列命令。执行计划中的每个步骤产生一个行源,然后与另外一个行源相联接,直到所有对象都被访问和联接。
Oracle中的查询计划将会完成解析,绑定,执行和提取的步骤。
Oracle每次访问数据块的时候,Oracle都会从该块中取出数据行然后在一次回路中返回给客户端。一次返回的行数是一个可配置的值称为列大小。列大小是一个网络回路中一次可以传输的可能行数。而列大小的设置可以是通过编程改变。在SQL*pLus中,默认大小是15,你可以通过set arraysize n命令来改变数组大小。JDBC的默认值是10。下面展现了同样一个查询 的逻辑读取次数是如何通过改变列大小来减少的。逻辑读取是使用consistent gets 标出:
set arraysize 15
set autotrace traceonly statistics
select * from order_items ;
set arraysize 45
效果如下:
Oracle执行计划并取得数据行
时间: 2024-10-31 01:06:07