Oracle:SQL查询什么时候停止访问数据库?

时间:2017-10-27 18:32:33

标签: sql oracle plsqldeveloper

每次执行SQL查询时,通常我都会得到适合屏幕的结果。如果我想看到更多结果,我必须选择Fetch Last Page

我的问题是,当我选择Fetch Last Page时,它现在正在访问数据库,还是只是初始查询运行,结果存储在客户端的某个地方,以便显示?

1 个答案:

答案 0 :(得分:2)

大多数工具都有一个概念叫做"获取大小"。这是数据库在单次提取调用中返回的行数。

因此,对于1000行,获取大小为150,您将进行7次数据库访问以获取数据,最后一次访问"询问" 150,只有100回。

这就是为什么大多数工具都会向您显示" initial"行集而不是整个集合。

数据库必须做多少才能满足初始设置取决于查询。例如:

select * from t

可以抓住它找到的前150行,以满足150的fetchsize。

select * from t order by my_column

必须对表中行的所有进行排序(并因此访问),然后才能派生结果,然后在您要求的fetchsize中传递给您。排序结果*可能是