Oracle_scripte/Tanel/demos/predicate_ordering.sql
2014-09-17 13:23:48 +02:00

40 lines
618 B
MySQL

drop table t;
set echo on
create or replace function f(x in number) return number as
begin
dbms_output.put_line('F='||to_char(x));
return x;
end;
/
set serverout on size 1000000
select * from dual
where
rownum = f(2)
or rownum = f(1)
/
create table t (a, b) as select 1, 1 from dual connect by level <= 100000;
insert into t values (1,2);
commit;
@gts t
truncate table t;
insert into t values (1,2);
commit;
--exec dbms_stats.set_table_stats(user, 'T', numrows=>1000000, numblks=>10000, avgrlen=>10, no_invalidate=>false);
select * from t where b=f(2) or a=f(1);
set echo off serverout off
/
@x