在一次SELECT操作中只查出4000条左右的记录(SELECT了60几个字段),
却用TKPROF出来的报告中,发现这个查询出现400次的FETCH操作呢??请问这是什么原因造成的呀?
是有什么设置限制了每次FETCH的量吗,如果是如何设大,还是别的什么原因。
望达人指教。*
这个查询的结构基本如下:SELECT
FROM
(
SELECT
FROM
(
SELECT
FROM
(
SELECT
FROM
V_TABLE,--这个视图很大,用4个UNION ALL连几个大表
T_OTHERS --其它很多表的联接
WHERE
)
WHERE
)
WHERE
)
WHERE
却用TKPROF出来的报告中,发现这个查询出现400次的FETCH操作呢??请问这是什么原因造成的呀?
是有什么设置限制了每次FETCH的量吗,如果是如何设大,还是别的什么原因。
望达人指教。*
这个查询的结构基本如下:SELECT
FROM
(
SELECT
FROM
(
SELECT
FROM
(
SELECT
FROM
V_TABLE,--这个视图很大,用4个UNION ALL连几个大表
T_OTHERS --其它很多表的联接
WHERE
)
WHERE
)
WHERE
)
WHERE
• 第1步: Create a Cursor 创建游标
• 第2步: Parse the Statement 分析语句
• 第5步: Bind Any Variables 绑定变量
• 第7步: Run the Statement 运行语句
• 第9步: Close the Cursor 关闭游标
如果使用了并行功能,还会包含下面这个阶段:
• 第6步: Parallelize the Statement 并行执行语句
如果是查询语句,则需要以下几个额外的步骤
• 第3步: Describe Results of a Query 描述查询的结果集
• 第4步: Define Output of a Query 定义查询的输出数据
• 第8步: Fetch Rows of a Query 取查询出来的行
你说fetch就是对应 的确第8个操作了.
我只是普通SQL查询。
wkc168好像说的是MYSQL吧?我用的ORACLE。