Márcio, vc estava no caminho certo, só que não era só o query_rewrite_enabled, mas o query_rewrite_integrity também, pelo jeito (nos meus bancos 8i esses caras sempre estavam setados, então não reparei, mas pelo teste abaixo é). Acompanha a execução , Marcelo. Antes de mais nada, vou mostrar que não é questão de privilégio de usuário, nem nada assim :
[EMAIL PROTECTED]:SQL>@privs_by_user Enter Username : scott Roles granted to user GRANTED_ROLE ADM DEF -------------------- --- --- CONNECT NO YES PLUSTRACE NO YES RESOURCE NO YES Table Privileges granted to a user through roles GRANTED_ROLE OWNER TABLE_NAME PRIVILEGE -------------------- ------------ ---------- --------------------------- PLUSTRACE SYS V_$SESSION SELECT PLUSTRACE SYS V_$SESSTAT SELECT PLUSTRACE SYS V_$STATNAME SELECT System Privileges assigned to a user through roles GRANTED_ROLE PRIVILEGE -------------------- --------------------------- CONNECT ALTER SESSION CONNECT CREATE CLUSTER CONNECT CREATE DATABASE LINK CONNECT CREATE SEQUENCE CONNECT CREATE SESSION CONNECT CREATE SYNONYM CONNECT CREATE TABLE CONNECT CREATE VIEW RESOURCE CREATE CLUSTER RESOURCE CREATE INDEXTYPE RESOURCE CREATE OPERATOR RESOURCE CREATE PROCEDURE RESOURCE CREATE SEQUENCE RESOURCE CREATE TABLE RESOURCE CREATE TRIGGER RESOURCE CREATE TYPE Table privileges assigned directly to a user OWNER TABLE_NAME PRIVILEGE ------------ --------------------------- --------------------------- SYS DBMS_SESSION EXECUTE SYS V_$PARAMETER SELECT System privileges assigned directly to a user PRIVILEGE ADM --------------------------- --- QUERY REWRITE NO UNLIMITED TABLESPACE NO -- script privs_by_user.sql set lines 80 set echo off set verify off set pages 200 col granted_role form a20 col owner form a12 col table_name form a27 col privilege form a27 ACCEPT username prompt 'Enter Username : ' PROMPT Roles granted to user SELECT granted_role,admin_option,default_role FROM dba_role_privs WHERE grantee=UPPER('&username') ORDER BY 1; PROMPT Table Privileges granted to a user through roles SELECT granted_role, owner, table_name, privilege FROM ( SELECT granted_role FROM dba_role_privs WHERE grantee=UPPER('&username') UNION SELECT granted_role FROM role_role_privs WHERE role in (SELECT granted_role FROM dba_role_privs WHERE grantee=UPPER('&username') ) ) roles, dba_tab_privs WHERE granted_role=grantee ORder by 1,2,3,4; PROMPT System Privileges assigned to a user through roles SELECT granted_role, privilege FROM ( SELECT granted_role FROM dba_role_privs WHERE grantee=UPPER('&username') UNION SELECT granted_role FROM role_role_privs WHERE role in (SELECT granted_role FROM dba_role_privs WHERE grantee=UPPER('&username') ) ) roles, dba_sys_privs WHERE granted_role=grantee ORDER BY 1,2; PROMPT Table privileges assigned directly to a user SELECT owner, table_name, privilege FROM dba_tab_privs WHERE grantee=UPPER('&username') ORDER BY 1,2,3; PROMPT System privileges assigned directly to a user SELECT privilege, admin_option FROM dba_sys_privs WHERE grantee=UPPER('&username'); ==> segue também os params desse banco, de repente tem algum (tipo COMPATIBLE) que tá errado no seu banco, confira : [EMAIL PROTECTED]:SQL>select name, value from v$parameter where isdefault='FALSE'; NAME VALUE ---------------------------- ------------------------------------------------------------------------------------------------------------------------------- processes 150 timed_statistics TRUE resource_limit TRUE shared_pool_size 33554432 large_pool_size 614400 java_pool_size 12582912 control_files I:\O8IR3\oradata\o8ir3\control01.ctl, I:\O8IR3\oradata\o8ir3\control02.ctl, I:\O8IR3\oradata\o8ir3\control03.ctl db_block_buffers 4096 db_block_size 8192 compatible 8.1.7 log_buffer 32768 log_checkpoint_interval 10000 log_checkpoint_timeout 1800 db_files 512 db_file_multiblock_read_co 24 max_enabled_roles 30 remote_login_passwordfile EXCLUSIVE distributed_transactions 10 instance_name o8ir3 service_names o8ir3 mts_dispatchers (PROTOCOL=TCP)(PRE=oracle.aurora.server.SGiopServer) open_links 4 sort_area_size 1048576 sort_area_retained_size 1048576 db_name o8ir3 open_cursors 300 os_authent_prefix query_rewrite_enabled TRUE query_rewrite_integrity TRUSTED text_enable TRUE job_queue_processes 4 job_queue_interval 60 parallel_max_servers 5 hash_join_enabled TRUE background_dump_dest I:\O8IR3\admin\o8ir3\bdump user_dump_dest I:\O8IR3\admin\o8ir3\udump max_dump_file_size 1024000 oracle_trace_collection_name 38 linhas selecionadas. ==> ok, vamos conectar como scott e trabalhar : SQL*Plus: Release 8.1.7.0.0 - Production on Sex Jan 6 18:53:09 2006 (c) Copyright 2000 Oracle Corporation. All rights reserved. Conectado a: Personal Oracle8i Release 8.1.7.4.1 - Production With the Partitioning option JServer Release 8.1.7.4.1 - Production [EMAIL PROTECTED]:SQL>alter session set OPTIMIZER_MODE=RULE; Sessão alterada. [EMAIL PROTECTED]:SQL>select * from v$version; BANNER ---------------------------------------------------------------- Personal Oracle8i Release 8.1.7.4.1 - Production PL/SQL Release 8.1.7.4.0 - Production CORE 8.1.7.2.1 Production TNS for 32-bit Windows: Version 8.1.7.4.0 - Production NLSRTL Version 3.4.1.0.0 - Production ==> no meu caso eu deixei como TRUE e TRUSTED no meu banco 8i, pois outras feats pedem isso : [EMAIL PROTECTED]:SQL>select NAME,VALUE from V$PARAMETER where upper(name) like '%QUERY%'; NAME VALUE ------------------------- ---------- query_rewrite_enabled TRUE query_rewrite_integrity TRUSTED [EMAIL PROTECTED]:SQL>create table a1234 (a date); Tabela criada. [EMAIL PROTECTED]:SQL>create or replace function t_trunc(a date) return date 2 deterministic 3 as 4 begin 5 -- 6 if a is null then 7 -- 8 return null; 9 -- 10 end if; 11 -- 12 return trunc(a); 13 -- 14 end; 15 / Função criada. [EMAIL PROTECTED]:SQL> [EMAIL PROTECTED]:SQL>create index ITESTANDO1 on a1234(trunc(a)); Índice criado. [EMAIL PROTECTED]:SQL>create index ITESTANDO2 on a1234(t_trunc(a)); Índice criado. [EMAIL PROTECTED]:SQL>insert into a1234 values (trunc(sysdate)); 1 linha criada. [EMAIL PROTECTED]:SQL>insert into a1234 values (trunc(sysdate)); 1 linha criada. [EMAIL PROTECTED]:SQL>insert into a1234 values (null); 1 linha criada. [EMAIL PROTECTED]:SQL>insert into a1234 values (null); 1 linha criada. [EMAIL PROTECTED]:SQL>commit; Validação completa. ==> vamos começar pela primeira consulta : [EMAIL PROTECTED]:SQL>select /*+ INDEX(a1234 ITESTANDO1) */ * from a1234 where trunc(a)=sysdate; não há linhas selecionadas Execution Plan ---------------------------------------------------------- 0 SELECT STATEMENT Optimizer=RULE (Cost=1 Card=20 Bytes=180) 1 0 TABLE ACCESS (BY INDEX ROWID) OF 'A1234' (Cost=1 Card=20 Bytes=180) 2 1 INDEX (RANGE SCAN) OF 'ITESTANDO1' (NON-UNIQUE) (Cost=1 Card=20) Statistics ---------------------------------------------------------- 54 recursive calls 8 db block gets 19 consistent gets 0 physical reads 1144 redo size 217 bytes sent via SQL*Net to client 314 bytes received via SQL*Net from client 1 SQL*Net roundtrips to/from client 3 sorts (memory) 0 sorts (disk) 0 rows processed ==>> USOU sim o índice, confere ?? Lógico, há um ESCABROSO erro de lógica aí, trunc de alguma data ** dificilmente ** vai ser igual à SYSDATE, que não vem truncada, corrigindo : [EMAIL PROTECTED]:SQL>select /*+ INDEX(a1234 ITESTANDO1) */ * from a1234 where trunc(a)=trunc(sysdate); A ------------------- 06/01/2006 00:00:00 06/01/2006 00:00:00 Execution Plan ---------------------------------------------------------- 0 SELECT STATEMENT Optimizer=RULE (Cost=1 Card=20 Bytes=180) 1 0 TABLE ACCESS (BY INDEX ROWID) OF 'A1234' (Cost=1 Card=20 Bytes=180) 2 1 INDEX (RANGE SCAN) OF 'ITESTANDO1' (NON-UNIQUE) (Cost=1 Card=20) Statistics ---------------------------------------------------------- 8 recursive calls 0 db block gets 10 consistent gets 0 physical reads 0 redo size 405 bytes sent via SQL*Net to client 425 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 1 sorts (memory) 0 sorts (disk) 2 rows processed ==> pra gente ver que o índice ESTÁ SIM sendo atualizado : [EMAIL PROTECTED]:SQL>insert into a1234 values(sysdate); 1 linha criada. Execution Plan ---------------------------------------------------------- 0 INSERT STATEMENT Optimizer=RULE Statistics ---------------------------------------------------------- 0 recursive calls 5 db block gets 1 consistent gets 0 physical reads 836 redo size 1017 bytes sent via SQL*Net to client 807 bytes received via SQL*Net from client 4 SQL*Net roundtrips to/from client 1 sorts (memory) 0 sorts (disk) 1 rows processed [EMAIL PROTECTED]:SQL>commit; Validação completa. [EMAIL PROTECTED]:SQL>select /*+ INDEX(a1234 ITESTANDO1) */ * from a1234 where trunc(a)=trunc(sysdate); A ------------------- 06/01/2006 00:00:00 06/01/2006 00:00:00 06/01/2006 20:06:05 Execution Plan ---------------------------------------------------------- 0 SELECT STATEMENT Optimizer=RULE (Cost=1 Card=20 Bytes=180) 1 0 TABLE ACCESS (BY INDEX ROWID) OF 'A1234' (Cost=1 Card=20 Bytes=180) 2 1 INDEX (RANGE SCAN) OF 'ITESTANDO1' (NON-UNIQUE) (Cost=1 Card=20) Statistics ---------------------------------------------------------- 0 recursive calls 0 db block gets 4 consistent gets 0 physical reads 0 redo size 449 bytes sent via SQL*Net to client 425 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 3 rows processed [EMAIL PROTECTED]:SQL> O próximo : [EMAIL PROTECTED]:SQL>select /*+ INDEX(a1234 ITESTANDO2) */ * from a1234 where t_trunc(a)=trunc(sysdate); A ------------------- 06/01/2006 00:00:00 06/01/2006 00:00:00 06/01/2006 20:06:05 Execution Plan ---------------------------------------------------------- 0 SELECT STATEMENT Optimizer=RULE (Cost=1 Card=20 Bytes=180) 1 0 TABLE ACCESS (BY INDEX ROWID) OF 'A1234' (Cost=1 Card=20 Bytes=180) 2 1 INDEX (RANGE SCAN) OF 'ITESTANDO2' (NON-UNIQUE) (Cost=1 Card=20) Statistics ---------------------------------------------------------- 259 recursive calls 1 db block gets 53 consistent gets 2 physical reads 0 redo size 449 bytes sent via SQL*Net to client 425 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 5 sorts (memory) 0 sorts (disk) 3 rows processed [EMAIL PROTECTED]:SQL> ==> ** LÒGICO ** absolutamente NENHUM destes teus dois índices tem o MENOR sentido num sistema real : pra começo de conversa, em ambos vc NÂO está diminuindo o índice, já que nulls nunca vão para um b*tree comum, E ,no caso primeiro, a maneira CERTA de se trabalhar com DATAs desprezando a hora (que é o que o TRUNC faz, penso que é isso q vc queria) é se pedir SELECT ..... WHERE campodataindexado BETWEEN to_date('01/12/2005 00:00:00') AND to_date('01/12/2005 23:59:59') ==>> NENHUMA necessidade de se criar o índice na função TRUNC, confere ??? Inclusive, ao invés de constante acima, poderia ser a SYSDATE, também, é o mesmo caso... Esse segundo índice ** também ** não está diminuindo coisa alguma (vc está retornando o PRóPRIO campo data nele, com a hora zerada mas é ele mesmo), vc não terá vantagem alguma em termos de performance com ele comparando com um índice normal no campo data e uma consulta corretamente formulada como a acima. ==> Finalmente, alterei os params no init, re-bootei o banco : SQL*Plus: Release 8.1.7.0.0 - Production on Sex Jan 6 20:23:39 2006 (c) Copyright 2000 Oracle Corporation. All rights reserved. Conectado a: Personal Oracle8i Release 8.1.7.4.1 - Production With the Partitioning option JServer Release 8.1.7.4.1 - Production [EMAIL PROTECTED]:SQL>alter session set OPTIMIZER_MODE=RULE; Sessão alterada. [EMAIL PROTECTED]:SQL>select NAME,VALUE from V$PARAMETER where upper(name) like '%QUERY%'; NAME VALUE ---------------------- ----------------------------------------------------- query_rewrite_enabled FALSE query_rewrite_integrity ENFORCED [EMAIL PROTECTED]:SQL>set autotrace on [EMAIL PROTECTED]:SQL>select /*+ INDEX(a1234 ITESTANDO1) */ * from a1234 where trunc(a)=trunc(sysdate); A ------------------- 06/01/2006 00:00:00 06/01/2006 00:00:00 06/01/2006 20:06:05 Execution Plan ---------------------------------------------------------- 0 SELECT STATEMENT Optimizer=RULE (Cost=1 Card=20 Bytes=180) 1 0 TABLE ACCESS (FULL) OF 'A1234' (Cost=1 Card=20 Bytes=180) Statistics ---------------------------------------------------------- 887 recursive calls 7 db block gets 208 consistent gets 10 physical reads 0 redo size 449 bytes sent via SQL*Net to client 425 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 19 sorts (memory) 0 sorts (disk) 3 rows processed [EMAIL PROTECTED]:SQL> []s Chiappa --- Em oracle_br@yahoogrupos.com.br, "Marcio Portes" <[EMAIL PROTECTED]> escreveu > > hmmm... tenta virar o > query_rewrite_enabled FALSE > para true. > > Pena que não tenho mais 8i para teste! > > --- Em oracle_br@yahoogrupos.com.br, Marcelo Cauduro <[EMAIL PROTECTED]> > escreveu > > > > Rodei o Insert, tem agora 70894 registros... > > mas mesmo assim não foi.... > > > > On 1/6/06, Marcio Portes <[EMAIL PROTECTED]> wrote: > > > > > > Incrementa a tabela... acho que essas 4 linhas estão no mesmo > bloco. > > > > > > tenta ai. > > > > > > insert into a1234 > > > select sysdate > > > from all_objects > > > / > > > commit; > > > > > > e tenta de novo. > > > > > > > > > --- Em oracle_br@yahoogrupos.com.br, Marcelo Cauduro > <[EMAIL PROTECTED]> > > > escreveu > > > > > > > > Chiappa, fui testar seu exemplo no 8i > > > > > > > > select * from v$version > > > > > > > > Oracle8i Enterprise Edition Release 8.1.7.4.0 - Production > > > > PL/SQL Release 8.1.7.4.0 - Production > > > > CORE 8.1.7.0.0 Production > > > > TNS for Linux: Version 8.1.7.4.0 - Production > > > > NLSRTL Version 3.4.1.0.0 - Production > > > > > > > > alter session set OPTIMIZER_MODE=RULE; > > > > > > > > select NAME,VALUE from V$PARAMETER where upper(name) like '% > QUERY%' > > > > query_rewrite_enabled FALSE > > > > query_rewrite_integrity enforced > > > > > > > > --> Criei uma tabela para teste > > > > > > > > create table a1234 (a date); > > > > > > > > --> Criei uma funcao para testes > > > > > > > > create or replace function t_trunc(a date) return date > > > deterministic > > > > as > > > > begin > > > > -- > > > > if a is null then > > > > -- > > > > return null; > > > > -- > > > > end if; > > > > -- > > > > return trunc(a); > > > > -- > > > > end; > > > > > > > > --> Criei dois indices para teste, um usando uma funcao do > sistema > > > (a trunc) > > > > e outro usando uma funcao criado por mim > > > > > > > > create index ITESTANDO1 on a1234(trunc(a)) > > > > create index ITESTANDO2 on a1234(t_trunc(a)) > > > > > > > > --> Inseri alguns registros > > > > > > > > insert into a1234 values (trunc(sysdate)) > > > > insert into a1234 values (trunc(sysdate)) > > > > insert into a1234 values (null) > > > > insert into a1234 values (null) > > > > > > > > --> Rodei as querys > > > > > > > > select /*+ INDEX(a1234 ITESTANDO1) */ > > > > * from a1234 > > > > where trunc(a)=sysdate > > > > > > > > TABLE ACCESS FULL > > > > > > > > select /*+ INDEX(a1234 ITESTANDO2) */ > > > > * from a1234 > > > > where t_trunc(a)=trunc(sysdate) > > > > > > > > TABLE ACCESS FULL > > > > > > > > Sabe o por que ? > > > > > > > > On 1/5/06, Alex Fabiano Ribeiro <[EMAIL PROTECTED]> wrote: > > > > > > > > > > Muito legal o exemplo Chiappa! > > > > > > > > > > -----Mensagem original----- > > > > > De: oracle_br@yahoogrupos.com.br > > > [mailto:[EMAIL PROTECTED] > > > > > nome de jlchiappa > > > > > Enviada em: quinta-feira, 5 de janeiro de 2006 13:20 > > > > > Para: oracle_br@yahoogrupos.com.br > > > > > Assunto: [oracle_br] Re: Indice Baseado em Funcao no 9I > funciona > > > com RBO > > > > > ? > > > > > > > > > > > > > > > Segue um exemplinho, pra não ficar tão "no ar" : > > > > > > > > > > > > > > > [EMAIL PROTECTED]:SQL>show parameters query > > > > > > > > > > NAME TYPE VALUE > > > > > ------------------------------------ ----------- ------------- > -- > > > > > query_rewrite_enabled string FALSE > > > > > query_rewrite_integrity string enforced > > > > > > > > > > [EMAIL PROTECTED]:SQL>alter session set OPTIMIZER_MODE=RULE; > > > > > > > > > > Sessão alterada. > > > > > > > > > > [EMAIL PROTECTED]:SQL>select empno, ename, comm, sal from emp; > > > > > > > > > > EMPNO ENAME COMM > > > SAL > > > > > ------------------ ---------- ------------------ ------------- > ---- > > > - > > > > > 7369 SMITH > > > 800 > > > > > 7499 ALLEN 300 > > > 1600 > > > > > 7521 WARD 500 > > > 1250 > > > > > 7566 JONES > > > 2975 > > > > > 7654 MARTIN 1400 > > > 1250 > > > > > 7698 BLAKE > > > 2850 > > > > > 7782 CLARK > > > 2450 > > > > > 7788 SCOTT > > > 3000 > > > > > 7839 KING > > > 5000 > > > > > 7844 TURNER 0 > > > 1500 > > > > > 7876 ADAMS > > > 1100 > > > > > 7900 JAMES > > > 950 > > > > > 7902 FORD > > > 3000 > > > > > 7934 MILLER > > > 1300 > > > > > > > > > > [EMAIL PROTECTED]:SQL>create or replace function func_comm_not_nulo > > > (P_COMM > > > > > number) return number > > > > > 2 deterministic > > > > > 3 as > > > > > 4 BEGIN > > > > > 5 if P_COMM is null then > > > > > 6 return null; > > > > > 7 end if; > > > > > 8 return 0; > > > > > 9 END; > > > > > 10 / > > > > > > > > > > Função criada. > > > > > > > > > > [EMAIL PROTECTED]:SQL> > > > > > [EMAIL PROTECTED]:SQL>create index IDX_COMM_NOT_NULO on EMP > > > > > (func_comm_not_nulo(COMM)); > > > > > > > > > > Índice criado. > > > > > > > > > > [EMAIL PROTECTED]:SQL>set autotrace on > > > > > [EMAIL PROTECTED]:SQL>select * from emp where func_comm_not_nulo > (COMM) > > > =0; > > > > > > > > > > EMPNO ENAME JOB MGR > > > > > HIREDATE SAL COMM > DEPTNO > > > > > ------------------ ---------- --------- ------------------ --- > ---- > > > - -- > > > > > ---------------- ------------------ ------------------ > > > > > 7499 ALLEN SALESMAN 7698 > > > > > 20/02/81 1600 > 300 30 > > > > > 7521 WARD SALESMAN 7698 > > > > > 22/02/81 1250 > 500 30 > > > > > 7654 MARTIN SALESMAN 7698 > > > > > 28/09/81 1250 > 1400 30 > > > > > 7844 TURNER SALESMAN 7698 > > > > > 08/09/81 1500 > 0 30 > > > > > > > > > > > > > > > Plano de Execução > > > > > ---------------------------------------------------------- > > > > > 0 SELECT STATEMENT Optimizer=CHOOSE > > > > > 1 0 TABLE ACCESS (FULL) OF 'EMP' > > > > > > > > > > > > > > > > > > > > > > > > > Estatística > > > > > ---------------------------------------------------------- > > > > > 41 recursive calls > > > > > 0 db block gets > > > > > 14 consistent gets > > > > > 0 physical reads > > > > > 0 redo size > > > > > 910 bytes sent via SQL*Net to client > > > > > 499 bytes received via SQL*Net from client > > > > > 2 SQL*Net roundtrips to/from client > > > > > 0 sorts (memory) > > > > > 0 sorts (disk) > > > > > 4 rows processed > > > > > > > > > > > > > > > [EMAIL PROTECTED]:SQL> select /*+ INDEX(emp IDX_COMM_NOT_NULO) */ * > from > > > > > emp where func_comm_not_nulo(COMM)=0; > > > > > > > > > > EMPNO ENAME JOB MGR > > > > > HIREDATE SAL COMM > DEPTNO > > > > > ------------------ ---------- --------- ------------------ --- > ---- > > > - -- > > > > > ---------------- ------------------ ------------------ > > > > > 7499 ALLEN SALESMAN 7698 > > > > > 20/02/81 1600 > 300 30 > > > > > 7521 WARD SALESMAN 7698 > > > > > 22/02/81 1250 > 500 30 > > > > > 7654 MARTIN SALESMAN 7698 > > > > > 28/09/81 1250 > 1400 30 > > > > > 7844 TURNER SALESMAN 7698 > > > > > 08/09/81 1500 > 0 30 > > > > > > > > > > > > > > > Plano de Execução > > > > > ---------------------------------------------------------- > > > > > 0 SELECT STATEMENT Optimizer=CHOOSE (Cost=1 Card=4 > > > Bytes=348) > > > > > 1 0 TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (Cost=1 > Card=4 > > > Byte > > > > > s=348) > > > > > > > > > > 2 1 INDEX (RANGE SCAN) OF 'IDX_COMM_NOT_NULO' (NON- > > > UNIQUE) ( > > > > > Cost=1 Card=2) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Estatística > > > > > ---------------------------------------------------------- > > > > > 423 recursive calls > > > > > 0 db block gets > > > > > 64 consistent gets > > > > > 9 physical reads > > > > > 0 redo size > > > > > 910 bytes sent via SQL*Net to client > > > > > 499 bytes received via SQL*Net from client > > > > > 2 SQL*Net roundtrips to/from client > > > > > 4 sorts (memory) > > > > > 0 sorts (disk) > > > > > 4 rows processed > > > > > > > > > > [EMAIL PROTECTED]:SQL> > > > > > > > > > > []s > > > > > > > > > > Chiappa > > > > > --- Em oracle_br@yahoogrupos.com.br, "jlchiappa" > <[EMAIL PROTECTED]> > > > > > escreveu > > > > > > > > > > > > Nada disso : as estatísticas são usadas pro CBO poder > escolher > > > as > > > > > > possibilidades e montar um plano, MAS quando vc usa um hint > vc > > > ** > > > > > já > > > > > > está ** indicando que tipo de plano quer, então não > > > > > obrigatoriamente > > > > > > vc tem que calcular stats, ele já "sabe" que tipo de plano > vc > > > > > quer... > > > > > > > > > > > > ==> CLARO, de modo nenhum isso é o recomendado, mas ** se > ** o > > > teu > > > > > > sistema está em RBO, é tapar o nariz e ir pras hints... > > > > > > > > > > > > []s > > > > > > > > > > > > Chiappa > > > > > > --- Em oracle_br@yahoogrupos.com.br, Marcelo Cauduro > > > > > <[EMAIL PROTECTED]> > > > > > > escreveu > > > > > > > > > > > > > > Eu acho que sim, mas não ter certeza : > > > > > > > > > > > > > > Se eu forçar o CBO via HINTs terei de coletar > estatisticas ? > > > > > > > > > > > > > > On 1/5/06, jlchiappa <[EMAIL PROTECTED]> wrote: > > > > > > > > > > > > > > > > Não funciona : vc tem que "forçar" o CBO via HINTs , ou > > > coisa > > > > > do > > > > > > tipo > > > > > > > > pra poder usar FBI, se o seu sistema ainda está em RBO. > > > > > > > > > > > > > > > > []s > > > > > > > > > > > > > > > > Chiappa > > > > > > > > --- Em oracle_br@yahoogrupos.com.br, Marcelo Cauduro > > > > > > <[EMAIL PROTECTED]> > > > > > > > > escreveu > > > > > > > > > > > > > > > > > > Pessoal, > > > > > > > > > > > > > > > > > > Indice Baseado em Funcao no 9I funciona com RBO - > > > Otimizador > > > > > por > > > > > > > > Regra ? > > > > > > > > > > > > > > > > > > > > > > > > > > > [As partes desta mensagem que não continham texto > foram > > > > > > removidas] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -------------------------------------------------------- > ---- > > > ---- > > > > > -- > > > > > > -------------------------------------------------------- > > > > > > > > Atenção! As mensagens deste grupo são de acesso público > e de > > > > > > inteira > > > > > > > > responsabilidade de seus remetentes. > > > > > > > > Acesse: http://www.mail- > > > > > archive.com/oracle_br@yahoogrupos.com.br/ > > > > > > > > > > > > > > > > -------------------------------------------------------- > ---- > > > ---- > > > > > -- > > > > > > -------------------------------------------------------- > > > > > > > > > > > > > > > _____________________________________________________________________ > > > > > > > > Area de download do grupo - > > > > > > http://www.4shared.com/dir/101727/a4dcc423 > > > > > > > > > > > > > > > > > > > > > > > > *Yahoo! Grupos, um serviço oferecido por:* PUBLICIDADE > > > > > > > > > > > > > > > > > > > > > > > <http://br.rd.yahoo.com/SIG=12feq5jj2/M=387526.7663462.8550203.1588051 > > > > > > > > > > /D=brclubs/S=2137114689:HM/Y=BR/EXP=1136475593/A=3215516/R=2/SIG=16e > > > > > 56 > > > > > > adpd/*http://landingstrip.dell.com/landingstrip/ls.asp? > > > > > > > > > > > > > > > CID=10029&LID=288321&DGC=BA&DGStor=DHS&DGSite=Yahoo&Conum=BR&DURL=http > > > > > > ://www1.la.dell.com/content/products/category.aspx/desktops? > c% > > > 3Dbr% > > > > > > 26l%3Dpt%26s%3Ddhs> > > > > > > > > ------------------------------ > > > > > > > > *Links do Yahoo! Grupos* > > > > > > > > > > > > > > > > - Para visitar o site do seu grupo na web, acesse: > > > > > > > > http://br.groups.yahoo.com/group/oracle_br/ > > > > > > > > > > > > > > > > - Para sair deste grupo, envie um e-mail para: > > > > > > > > [EMAIL PROTECTED]<oracle_br- > > > > > > [EMAIL PROTECTED]> > > > > > > > > > > > > > > > > - O uso que você faz do Yahoo! Grupos está sujeito > aos > > > > > Termos > > > > > > do > > > > > > > > Serviço do Yahoo! > <http://br.yahoo.com/info/utos.html>. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram > > > removidas] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -------------------------------------------------------------- > ---- > > > ---------- > > > > > ---------------------------------------------- > > > > > Atenção! As mensagens deste grupo são de acesso público e de > > > inteira > > > > > responsabilidade de seus remetentes. > > > > > Acesse: http://www.mail- > archive.com/oracle_br@yahoogrupos.com.br/ > > > > > > > > > > -------------------------------------------------------------- > ---- > > > ---------- > > > > > > > > > > ---------------------------------------------- > > > ______________________________ > > > > > _______________________________________ > > > > > Area de download do grupo - > > > http://www.4shared.com/dir/101727/a4dcc423 > > > > > Links do Yahoo! Grupos > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -------------------------------------------------------------- > ---- > > > -------------------------------------------------------- > > > > > Atenção! As mensagens deste grupo são de acesso público e de > > > inteira > > > > > responsabilidade de seus remetentes. > > > > > Acesse: http://www.mail- > archive.com/oracle_br@yahoogrupos.com.br/ > > > > > > > > > > -------------------------------------------------------------- > ---- > > > -------------------------------------------------------- > > > > _____________________________________________________________________ > > > > > Area de download do grupo - > > > http://www.4shared.com/dir/101727/a4dcc423 > > > > > > > > > > > > > > > *Yahoo! Grupos, um serviço oferecido por:* PUBLICIDADE > > > > > > > > > <http://br.rd.yahoo.com/SIG=12f83sh25/M=387526.7663462.8550203.1588051 > > > > /D=brclubs/S=2137114689:HM/Y=BR/EXP=1136487637/A=3215516/R=2/SIG=16e > 56 > > > adpd/*http://landingstrip.dell.com/landingstrip/ls.asp? > > > > CID=10029&LID=288321&DGC=BA&DGStor=DHS&DGSite=Yahoo&Conum=BR&DURL=http > > > ://www1.la.dell.com/content/products/category.aspx/desktops?c% > 3Dbr% > > > 26l%3Dpt%26s%3Ddhs> > > > > > ------------------------------ > > > > > *Links do Yahoo! Grupos* > > > > > > > > > > - Para visitar o site do seu grupo na web, acesse: > > > > > http://br.groups.yahoo.com/group/oracle_br/ > > > > > > > > > > - Para sair deste grupo, envie um e-mail para: > > > > > [EMAIL PROTECTED]<oracle_br- > > > [EMAIL PROTECTED]> > > > > > > > > > > - O uso que você faz do Yahoo! Grupos está sujeito aos > Termos > > > do > > > > > Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>. > > > > > > > > > > > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram > removidas] > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------ > -------------------------------------------------------- > > > Atenção! As mensagens deste grupo são de acesso público e de > inteira > > > responsabilidade de seus remetentes. > > > Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ > > > > > > ------------------------------------------------------------------ > -------------------------------------------------------- > _____________________________________________________________________ > > > Area de download do grupo - > http://www.4shared.com/dir/101727/a4dcc423 > > > > > > > > > *Yahoo! Grupos, um serviço oferecido por:* PUBLICIDADE > > > > <http://br.rd.yahoo.com/SIG=12fnc3k0h/M=387526.7663462.8644437.1588051 > /D=brclubs/S=2137114689:HM/Y=BR/EXP=1136572277/A=3221952/R=2/id=noscri > pt/SIG=16ehti2go/*http://landingstrip.dell.com/landingstrip/ls.asp? > CID=10076&LID=289961&DGC=BA&DGStor=DHS&DGSite=Yahoo&Conum=BR&DURL=http > ://www1.la.dell.com/content/products/category.aspx/desktops?c%3Dbr% > 26l%3Dpt%26s%3Ddhs> > > > ------------------------------ > > > *Links do Yahoo! Grupos* > > > > > > - Para visitar o site do seu grupo na web, acesse: > > > http://br.groups.yahoo.com/group/oracle_br/ > > > > > > - Para sair deste grupo, envie um e-mail para: > > > [EMAIL PROTECTED]<oracle_br- > [EMAIL PROTECTED]> > > > > > > - O uso que você faz do Yahoo! Grupos está sujeito aos Termos > do > > > Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>. > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > -------------------------------------------------------------------------------------------------------------------------- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --------------------------------------------------------------------------------------------------------------------------_____________________________________________________________________ Area de download do grupo - http://www.4shared.com/dir/101727/a4dcc423 Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html