Sql 与视图和BLOB列相关的查询优化
假设我使用的是Oracle 11g,并且: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
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是如何工作的。