Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 与视图和BLOB列相关的查询优化_Sql_Oracle_Performance_Oracle11g_Query Optimization - Fatal编程技术网

Sql 与视图和BLOB列相关的查询优化

Sql 与视图和BLOB列相关的查询优化,sql,oracle,performance,oracle11g,query-optimization,Sql,Oracle,Performance,Oracle11g,Query Optimization,假设我使用的是Oracle 11g,并且: create table t1( n1 number, n2 blob); create view v1 as select n1, n2 from t1; 在这种情况下,如果我运行: select n1 from v1; 是否将从数据库中提取n2?我怎样才能确认呢?提前谢谢 Oracle仅获取列出的列 你可以做这个实验 将服务器输出设置为on create or replace function blabla return varchar2 i

假设我使用的是Oracle 11g,并且:

create table t1(
n1 number,
n2 blob);

create view v1 as
select n1, n2 from t1;
在这种情况下,如果我运行:

select n1 from v1;

是否将从数据库中提取n2?我怎样才能确认呢?提前谢谢

Oracle仅获取列出的列

你可以做这个实验

将服务器输出设置为on

create or replace function blabla return varchar2
is 
begin
dbms_output.put_line('Hello World');
return 'blabla function';
end;


create view  test_fetch as select 'abc' col1, blabla col2 from dual;

select col1,col2 from test_fetch;

select col1 from test_fetch;

在输出中进行这些查询之后,您将只看到一行。

解释计划是怎么说的?问题是关于性能的。我认为你们的答案并没有触及那个点。@Nitish的问题是关于“是否从数据库中提取n2列”。答案是否定的。若列未在“选择”中列出,则不会提取该列。我的例子只是证明。不执行函数或获取blob对性能有很大影响。@Nitish很抱歉,但我不理解您对我的回答的疑问问题中的标记包含
性能
查询优化
。我想我应该回答这个问题或给出解决问题的建议。或者我们有不同的想象stackoverflow是如何工作的。