-- os params query_nn eu setei no init, e não via alter session

é isso mesmo, dei alter system e rodou...

Valeu.

On 1/10/06, jlchiappa <[EMAIL PROTECTED]> wrote:
>
>  Duas coisas eu vejo aí :
>
> a) return sysdate : isso não vai funcionar, pois A CADA HORA, cfrme o
> relógio do sistema avança, o sysdate retorna um valor diferente !! SE
> vc olhar direitinho no meu exemplo, eu peço uma CONSTANTE, que aí SIM
> é sempre a mesma , return 0; no meu caso
>
> b) os params query_nn eu setei no init, e não via alter session
>
> []s
>
> Chiappa
>
> --- Em oracle_br@yahoogrupos.com.br, Marcelo Cauduro <[EMAIL PROTECTED]>
> escreveu
> >
> > Chiappa, acredita que ainda não rodou ?
> >
> > naum consigo o FBI em RBO no ORacle 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
> >
> >     timed_statistics             TRUE
> >
> > Fiz um monte de alter session até mesmo sem saber o pq... para
> tentar ficar
> > igual aos seus parametros...
> >
> > alter session set OPTIMIZER_MODE=rule ;
> >
> > alter session set query_rewrite_enabled=TRUE
> >
> > alter session set query_rewrite_integrity=TRUSTED
> >
> > alter session set text_enable=TRUE
> >
> > alter session set hash_join_enabled=true
> >
> > alter session set timed_statistics=true
> >
> > alter session set sql_trace=true
> >
> > alter session set oracle_trace_enable=true
> >
> > select name, value from v$parameter where
> > isdefault='FALSE'
> > ORDER BY NAME;
> >
> > 1    background_dump_dest    /u01/app/oracle/admin/dvbco1/bdump
> > 2    compatible    8.1.7
> > 3    control_files    /u01/oracle/oradata/dvbco1/control01.ctl,
> > /u02/oracle/oradata/dvbco1/control02.ctl
> > 4    core_dump_dest    /u01/app/oracle/admin/dvbco1/cdump
> > 5    db_block_buffers    2048
> > 6    db_block_size    4096
> > 7    db_name    dvbco1
> > 8    event    36 trace name errorstack level 3
> > 9    hash_join_enabled    TRUE
> > 10    instance_name    dvbco1
> > 11    java_pool_size    25000000
> > 12    large_pool_size    8192000
> > 13    log_buffer    163840
> > 14    log_checkpoint_interval    10000
> > 15    log_checkpoint_timeout    1800
> > 16    max_enabled_roles    80
> > 17    open_cursors    500
> > 18    os_authent_prefix
> > 19    processes    350
> > 20    remote_login_passwordfile    EXCLUSIVE
> > 21    rollback_segments    R04, R01, R02, R03
> > 22    service_names    dvbco1
> > 23    shared_pool_reserved_size    5033164
> > 24    shared_pool_size    50331648
> > 25    sort_area_retained_size    65536
> > 26    sort_area_size    65536
> > 27    user_dump_dest    /u01/app/oracle/admin/dvbco1/udump
> > --28    utl_file_dir    /home/ftpbis/*
> >
> > select name, value from v$parameter --where
> > --isdefault='FALSE'
> > ORDER BY NAME;
> >
> > 1    O7_DICTIONARY_ACCESSIBILITY    TRUE
> > 2    active_instance_count
> > 3    always_anti_join    NESTED_LOOPS
> > 4    always_semi_join    standard
> > 5    aq_tm_processes    0
> > 6    audit_file_dest    ?/rdbms/audit
> > 7    audit_trail    NONE
> > 8    background_core_dump    partial
> > 9    background_dump_dest    /u01/app/oracle/admin/dvbco1/bdump
> > 10    backup_tape_io_slaves    FALSE
> > 11    bitmap_merge_area_size    1048576
> > 12    blank_trimming    FALSE
> > 13    buffer_pool_keep
> > 14    buffer_pool_recycle
> > 15    commit_point_strength    1
> > 16    compatible    8.1.7
> > 17    control_file_record_keep_time    7
> > 18    control_files    /u01/oracle/oradata/dvbco1/control01.ctl,
> > /u02/oracle/oradata/dvbco1/control02.ctl
> > 19    core_dump_dest    /u01/app/oracle/admin/dvbco1/cdump
> > 20    cpu_count    4
> > 21    create_bitmap_area_size    8388608
> > 22    cursor_sharing    EXACT
> > 23    cursor_space_for_time    FALSE
> > 24    db_block_buffers    2048
> > 25    db_block_checking    FALSE
> > 26    db_block_checksum    FALSE
> > 27    db_block_lru_latches    2
> > 28    db_block_max_dirty_target    2048
> > 29    db_block_size    4096
> > 30    db_domain
> > 31    db_file_direct_io_count    64
> > 32    db_file_multiblock_read_count    8
> > 33    db_file_name_convert
> > 34    db_files    200
> > 35    db_name    dvbco1
> > 36    db_writer_processes    1
> > 37    dblink_encrypt_login    FALSE
> > 38    dbwr_io_slaves    0
> > 39    disk_asynch_io    TRUE
> > 40    distributed_transactions    107
> > 41    dml_locks    1716
> > 42    enqueue_resources    1936
> > 43    event    36 trace name errorstack level 3
> > 44    fast_start_io_target    2048
> > 45    fast_start_parallel_rollback    LOW
> > 46    fixed_date
> > 47    gc_defer_time    10
> > 48    gc_files_to_locks
> > 49    gc_releasable_locks    0
> > 50    gc_rollback_locks    0-1024=32!8REACH
> > 51    global_names    FALSE
> > 52    hash_area_size    131072
> > 53    hash_join_enabled    TRUE
> > 54    hash_multiblock_io_count    0
> > 55    hi_shared_memory_address    0
> > 56    hpux_sched_noage
> > 57    hs_autoregister    TRUE
> > 58    ifile
> > 59    instance_groups
> > 60    instance_name    dvbco1
> > 61    instance_number    0
> > 62    java_max_sessionspace_size    0
> > 63    java_pool_size    25000000
> > 64    java_soft_sessionspace_limit    0
> > 65    job_queue_interval    60
> > 66    job_queue_processes    0
> > 67    large_pool_size    8192000
> > 68    license_max_sessions    0
> > 69    license_max_users    0
> > 70    license_sessions_warning    0
> > 71    lm_locks    12000
> > 72    lm_ress    6000
> > 73    local_listener
> > 74    lock_name_space
> > 75    lock_sga    FALSE
> > 76    log_archive_dest
> > 77    log_archive_dest_1
> > 78    log_archive_dest_2
> > 79    log_archive_dest_3
> > 80    log_archive_dest_4
> > 81    log_archive_dest_5
> > 82    log_archive_dest_state_1    enable
> > 83    log_archive_dest_state_2    enable
> > 84    log_archive_dest_state_3    enable
> > 85    log_archive_dest_state_4    enable
> > 86    log_archive_dest_state_5    enable
> > 87    log_archive_duplex_dest
> > 88    log_archive_format    %t_%s.dbf
> > 89    log_archive_max_processes    1
> > 90    log_archive_min_succeed_dest    1
> > 91    log_archive_start    FALSE
> > 92    log_archive_trace    0
> > 93    log_buffer    163840
> > 94    log_checkpoint_interval    10000
> > 95    log_checkpoint_timeout    1800
> > 96    log_checkpoints_to_alert    FALSE
> > 97    log_file_name_convert
> > 98    max_commit_propagation_delay    700
> > 99    max_dump_file_size    UNLIMITED
> > 100    max_enabled_roles    80
> > 101    max_rollback_segments    85
> > 102    mts_circuits    0
> > 103    mts_dispatchers
> > 104    mts_listener_address
> > 105    mts_max_dispatchers    5
> > 106    mts_max_servers    20
> > 107    mts_multiple_listeners    FALSE
> > 108    mts_servers    0
> > 109    mts_service    dvbco1
> > 110    mts_sessions    0
> > 111    nls_calendar
> > 112    nls_comp
> > 113    nls_currency
> > 114    nls_date_format
> > 115    nls_date_language
> > 116    nls_dual_currency
> > 117    nls_iso_currency
> > 118    nls_language    AMERICAN
> > 119    nls_numeric_characters
> > 120    nls_sort
> > 121    nls_territory    AMERICA
> > 122    nls_time_format
> > 123    nls_time_tz_format
> > 124    nls_timestamp_format
> > 125    nls_timestamp_tz_format
> > 126    object_cache_max_size_percent    10
> > 127    object_cache_optimal_size    102400
> > 128    open_cursors    500
> > 129    open_links    4
> > 130    open_links_per_instance    4
> > 131    ops_interconnects
> > 132    optimizer_features_enable    8.1.7
> > 133    optimizer_index_caching    0
> > 134    optimizer_index_cost_adj    100
> > 135    optimizer_max_permutations    80000
> > 136    optimizer_mode    RULE
> > 137    optimizer_percent_parallel    0
> > 138    oracle_trace_collection_name
> > 139    oracle_trace_collection_path    ?/otrace/admin/cdf
> > 140    oracle_trace_collection_size    5242880
> > 141    oracle_trace_enable    TRUE
> > 142    oracle_trace_facility_name    oracled
> > 143    oracle_trace_facility_path    ?/otrace/admin/fdf
> > 144    os_authent_prefix
> > 145    os_roles    FALSE
> > 146    parallel_adaptive_multi_user    FALSE
> > 147    parallel_automatic_tuning    FALSE
> > 148    parallel_broadcast_enabled    FALSE
> > 149    parallel_execution_message_size    2148
> > 150    parallel_instance_group
> > 151    parallel_max_servers    5
> > 152    parallel_min_percent    0
> > 153    parallel_min_servers    0
> > 154    parallel_server    FALSE
> > 155    parallel_server_instances    1
> > 156    parallel_threads_per_cpu    2
> > 157    partition_view_enabled    FALSE
> > 158    plsql_v2_compatibility    FALSE
> > 159    pre_page_sga    FALSE
> > 160    processes    350
> > 161    query_rewrite_enabled    TRUE
> > 162    query_rewrite_integrity    TRUSTED
> > 163    rdbms_server_dn
> > 164    read_only_open_delayed    FALSE
> > 165    recovery_parallelism    0
> > 166    remote_dependencies_mode    TIMESTAMP
> > 167    remote_login_passwordfile    EXCLUSIVE
> > 168    remote_os_authent    FALSE
> > 169    remote_os_roles    FALSE
> > 170    replication_dependency_tracking    TRUE
> > 171    resource_limit    FALSE
> > 172    resource_manager_plan
> > 173    rollback_segments    R04, R01, R02, R03
> > 174    row_locking    always
> > 175    serial_reuse    DISABLE
> > 176    serializable    FALSE
> > 177    service_names    dvbco1
> > 178    session_cached_cursors    0
> > 179    session_max_open_files    10
> > 180    sessions    390
> > 181    shadow_core_dump    partial
> > 182    shared_memory_address    0
> > 183    shared_pool_reserved_size    5033164
> > 184    shared_pool_size    50331648
> > 185    sort_area_retained_size    65536
> > 186    sort_area_size    65536
> > 187    sort_multiblock_read_count    2
> > 188    sql92_security    FALSE
> > 189    sql_trace    FALSE
> > 190    sql_version    NATIVE
> > 191    standby_archive_dest    ?/dbs/arch
> > 192    star_transformation_enabled    FALSE
> > 193    tape_asynch_io    TRUE
> > 194    text_enable    TRUE
> > 195    thread    0
> > 196    timed_os_statistics    0
> > 197    timed_statistics    TRUE
> > 198    tracefile_identifier
> > 199    transaction_auditing    TRUE
> > 200    transactions    429
> > 201    transactions_per_rollback_segment    5
> > 202    use_indirect_data_buffers    FALSE
> > 203    user_dump_dest    /u01/app/oracle/admin/dvbco1/udump
> >
> > select NAME,VALUE from V$PARAMETER where upper(name)
> > like '%QUERY%';
> >
> > NAME                      VALUE
> > ------------------------- ----------
> > query_rewrite_enabled     TRUE
> > query_rewrite_integrity   TRUSTED
> >
> > --> 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 NOT null then
> >   --
> >     return null;
> >   --
> >   end if;
> >   --
> >   return sysdate;
> > --
> > 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;
> >
> > 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/7/06, Marcelo Cauduro <[EMAIL PROTECTED]> wrote:
> > >
> > > Perfeito Chiappa, obrigado.
> > >
> > > On 1/7/06, jlchiappa <[EMAIL PROTECTED]> wrote:
> > > >
> > > > Exato, se realmente é uma minoria que tem null que te
> interessa, aí
> > > > sim vale ** plenamente ** vc criar o índice na função que
> retorna 0
> > > > pra quem tá nulo : é o conceito, vc usa o índice seletivo
> quando vc
> > > > tem um PEQUENO conjunto que vc quer destacar dentro dum universo
> > > > maior...
> > > > Única coisa, vc teria que escrever a sua consulta com
> > > >
> > > > ...
> > > > WHERE func_test2(data_de_pagamento) = 0
> > > >
> > > > pra aí sim ele achar os caras que estão nulos, é isso.
> > > >
> > > > []s
> > > >
> > > > Chiappa
> > > > --- Em oracle_br@yahoogrupos.com.br, Marcelo Cauduro
> <[EMAIL PROTECTED]>
> > > > escreveu
> > > > >
> > > > > Chiappa muito obrigado pelo conceito esclarecido...
> > > > > entretanto quero somente confirmar se eh isso que vc quis
> dizer... :
> > > > >
> > > > > a tabela tem milhoes de registros
> > > > > a minoria dos dados tem data_de_pagamento null.....
> > > > > e eu quero executar a seguinte querie
> > > > >                   select ID from tabela X where
> data_de_pagamento IS
> > > > null
> > > > > Pois eu quero trabalhar com os registro que nao foram
> pagos....
> > > > > Essa querie acima nao usuaria indice.... mas "mesmo assim"
> naum seria
> > > > > vantagem eu criar um indice que usasse a funcao abaixo, para
> fazer
> > > > com que
> > > > > no indice fiquem apenas as colunas nulas (a funcao retorna 0
> para
> > > > valores
> > > > > nullos e nulos para nao nulos ).... ?
> > > > >
> > > > > create function func_test2 (a date) return number
> > > > >    deterministic
> > > > >    as
> > > > >    begin
> > > > >    --
> > > > >    if a is not null then
> > > > >    --
> > > > >    return null;
> > > > >    --
> > > > >   end if;
> > > > >   --
> > > > >   return 0;
> > > > >   --
> > > > >   end;
> > > > >   /
> > > > >
> > > > > create index idx_test_f2 on tab_test(func_test2
> (data_de_pagamento));
> > > > >
> > > > >
> > > > > On 1/7/06, jlchiappa <[EMAIL PROTECTED]> wrote:
> > > > > >
> > > > > > --- Em oracle_br@yahoogrupos.com.br, Marcelo Cauduro
> <[EMAIL PROTECTED]>
> > > > > > escreveu
> > > > > > >
> > > > > > > Valeu Chiappa, esse indices inventei na hora... sem
> sentido
> > > > mesmo... soh
> > > > > > > para ver se a busca ia por eles...
> > > > > > > Muito Obrigado....
> > > > > > >
> > > > > > > Mas só uma dúvida, vc disse q a melhor maneira de
> trabalhar com
> > > > data
> > > > > > é usar
> > > > > > > o between...
> > > > > > > ou seja,
> > > > > > > mesmo que eu "sempre" tenha um campo com data truncada
> para fazer
> > > > > > > comparacao, naum vale a pena criar o indice (eu digo de
> criar o
> > > > > > indice. pq
> > > > > > > se eu der o trunc na data na hora da querie ele deixa de
> usar o
> > > > > > indice) com
> > > > > > > a data truncada, mas sim usar o between ? eh isso mesmo ?
> > > > > >
> > > > > > Se a data está gravada truncada (ie, vc tem 100% de certeza
> que a
> > > > > > porção hora não está nunca sendo gravada, portanto fica como
> > > > > > 00:00:00), vc simplesmente faz :
> > > > > >
> > > > > > WHERE campodata = TO_DATE('01/12/2005', 'dd/mm/yyyy')
> > > > > >
> > > > > > ou, se for com SYSDATE a comparação, se faz :
> > > > > >
> > > > > > WHERE campodata = TRUNC(sysdate);
> > > > > >
> > > > > > que aí usa o índice normal, TRUNC na constante é ok, o que
> não se
> > > > > > recomenda é TRUNC no campo... Já se vc não tem certeza
> absoluta, aí
> > > > > > sim é escrever o SQL com between de 00:00:00 à 23:59:59,
> sim, é isso
> > > >
> > > > > > mesmo... Pro caso de não ter certeza se tá truncado ou não,
> a
> > > > sugestão
> > > > > > é : *** DEIXE ** de usar o TRUNC, pois aí , além de não
> precisar de
> > > > > > índice "especial" algum, vc deixa de ter uma função sendo
> aplicada a
> > > >
> > > > > > CADA registro pesquisado... É aquele negócio, é um tiquinho
> extra de
> > > > > > nada de CPU que o bd gasta pra chamar o TRUNC em cada
> registro se vc
> > > > o
> > > > > > tiver no campo da tabela, MAS de repente multiplicando esse
> tiquinho
> > > >
> > > > > > por 1 milhão de regs, pode ser algo que valha a pena...
> Além do que,
> > > > > > quanto MENOS "partes móveis" , quanto menos "coisas" vc
> tiver pra se
> > > > > > preocupar, melhor...
> > > > > >
> > > > > > >
> > > > > > > outra coisa , se a situacao fosse :
> > > > > > > um sistema de pagamentos.... que tem um campo
> data_de_pagamento,
> > > > que
> > > > > > só é
> > > > > > > preenchida quando o documento foi pago...
> > > > > > > e vc quer saber todos os que naum foram pagos, ou seja,
> todos os
> > > > que tem
> > > > > > > nulo na data vencimento..
> > > > > > > se vc naum pudesse alterar a arquitetura da tabela...
> seria a
> > > > melhor
> > > > > > solucao
> > > > > > > criar um indice nessa coluna data_de_pagamento, um indice
> > > > baseado numa
> > > > > > > funcao que, quando a coluna tiver valor, ou seja , foi
> efetuado o
> > > > > > pagamento
> > > > > > > , retornasse null e, quando nao tiver sido efetuado,
> retornaria
> > > > 1....
> > > > > > > guardando nos indices apenas os naum pagos...
> > > > > > > eh uma ideia ridicula ou poderia ser usada ?
> > > > > >
> > > > > > Vc não ganharia nada, veja : se eu criar um índice
> btree "comum"
> > > > nesse
> > > > > > campo, ** naturalmente ** os registros onde esse campo-
> chave é null
> > > > já
> > > > > > **  não ** entram nele. o índice "selectivo" que eu porpus
> serve pra
> > > >
> > > > > > quando, DENTRO do universo grande de chaves não-nulas, vc
> quer
> > > > indexar
> > > > > > só ** alguns ** registros  : indexar TODAS as não-nulas
> apenas isso
> > > > já
> > > > > > acontece NATURALMENTE, é conceito de índices, se vc não
> tinha esse
> > > > > > conceito passe a ter, exemplo :
> > > > > >
> > > > > > [EMAIL PROTECTED]:SQL>create table tab_test(c1 varchar2(30), c2
> number);
> > > > > >
> > > > > > Tabela criada.
> > > > > >
> > > > > > [EMAIL PROTECTED]:SQL>insert into tab_test (select null,
> object_id from
> > > > > > all_objects);
> > > > > >
> > > > > > 22045 linhas criadas.
> > > > > >
> > > > > > ==> ok, vamos inserir alguns não-nulos :
> > > > > >
> > > > > > [EMAIL PROTECTED]:SQL>insert into tab_test values ('AAA', 1);
> > > > > >
> > > > > > 1 linha criada.
> > > > > >
> > > > > > [EMAIL PROTECTED]:SQL>insert into tab_test values ('BBB', 2);
> > > > > >
> > > > > > 1 linha criada.
> > > > > >
> > > > > >
> > > > > > [EMAIL PROTECTED]:SQL>select count(*) from tab_test where c1 is
> not null;
> > > > > >
> > > > > >           COUNT(*)
> > > > > > ------------------
> > > > > >                  2
> > > > > >
> > > > > > ==> tenho aqui o caso que vc propôs, ie : tenho uma porrada
> de
> > > > > > valores-xchave null e só alguns poucos registros onde ele é
> not
> > > > null.
> > > > > > vamos criar os índices :
> > > > > >
> > > > > > [EMAIL PROTECTED]:SQL>create index idx_test on tab_test(c1);
> > > > > >
> > > > > > Índice criado.
> > > > > >
> > > > > > [EMAIL PROTECTED]:SQL>create function func_test (a char) return
> number
> > > > > >   2   deterministic
> > > > > >   3   as
> > > > > >   4   begin
> > > > > >   5   --
> > > > > >   6   if a is null then
> > > > > >   7   --
> > > > > >   8   return null;
> > > > > >   9   --
> > > > > > 10  end if;
> > > > > > 11  --
> > > > > > 12  return 0;
> > > > > > 13  --
> > > > > > 14  end;
> > > > > > 15  /
> > > > > >
> > > > > > Função criada.
> > > > > >
> > > > > > [EMAIL PROTECTED]:SQL>create index idx_test_f on tab_test
> (func_test(c1));
> > > > > >
> > > > > > Índice criado.
> > > > > >
> > > > > > [EMAIL PROTECTED]:SQL>analyze table tab_test compute statistics
> for table
> > > > > > for all indexes for all columns size 1;
> > > > > >
> > > > > > Tabela analisada.
> > > > > >
> > > > > > [EMAIL PROTECTED]:SQL>select index_name, NUM_ROWS, distinct_keys,
> > > > > > LEAF_BLOCKS, AVG_LEAF_BLOCKS_PER_KEY,
> AVG_DATA_BLOCKS_PER_KEY
> > > > > > ,CLUSTERING_FACTOR from user_indexes where table
> > > > > >
> > > > > > INDEX_NAME                               NUM_ROWS
> DISTINCT_KEYS
> > > > > >       LEAF_BLOCKS AVG_LEAF_BLOCKS_PER_KEY
> AVG_DATA_BLOCKS_PER_KEY
> > > > > > CLUSTERING_FACTOR
> > > > > > ------------------------------ ------------------ ----------
> --------
> > > >
> > > > > > ------------------ ----------------------- -----------------
> ------
> > > > > > ------------------
> > > > > > IDX_TEST
> 2                  2
> > > > > >                 1
> 1                       1
> > > > > >              1
> > > > > > IDX_TEST_F
> 2                  1
> > > > > >                 1
> 1                       1
> > > > > >              1
> > > > > >
> > > > > > ==> SÓ TENHO as duas linhas não-nulas em AMBOS os
> índices!!! Provado
> > > > > > que em ** QUALQUER ** índice b*tree as chaves nulas **
> NATURALMENTE
> > > > **
> > > > > > não entra, confere ?? O tamanho menor também mostra isso :
> > > > > >
> > > > > > [EMAIL PROTECTED]:SQL>L
> > > > > >   1  SELECT SEGMENT_NAME, SEGMENT_TYPE, SUM(BYTES) FROM
> > > > USER_EXTENTS WHERE
> > > > > >   2  SEGMENT_NAME IN ('TAB_TEST', 'IDX_TEST', 'IDX_TEST_F')
> > > > > >   3* GROUP BY SEGMENT_NAME, SEGMENT_TYPE
> > > > > > [EMAIL PROTECTED]:SQL>/
> > > > > >
> > > > > > SEGMENT_NAME                        SEGMENT_TYPE
> > > > > > SUM(BYTES)
> > > > > > ----------------------------------- ------------------
> > > > > > ------------------------
> > > > > > IDX_TEST                            INDEX
> > > > > >   131.072
> > > > > > IDX_TEST_F                          INDEX
> > > > > >   131.072
> > > > > > TAB_TEST                            TABLE
> > > > > >   393.216
> > > > > >
> > > > > > ==> Pra esse caso, então, NÂO ganharás nada com índice FBI,
> eu
> > > > repito,
> > > > > > índice FBI com função selectiva serve pra quando vc quer
> indexar
> > > > > > ALGUNS registros apenas num universo maior de chaves não-
> nulas, as
> > > > > > nulas NÂO entram no índice b*tree, naturalmente, é assim que
> > > > funciona
> > > > > > índice b*tree no bd Oracle.
> > > > > >
> > > > > > []s
> > > > > >
> > > > > > Chiappa
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > >
> > > > ----------------------------------------------------------------
> ----------------------------------------------------------
> > > > > > 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=12fhvhvsf/M=387526.7663462.8651941.1588051
> /D=brclubs/S=2137114689:HM/Y=BR/EXP=1136646913/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]
> > > > <http://[EMAIL PROTECTED]/?
> subject=Unsubscribe>>
> > > > > >
> > > > > >    - 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=12f4cpqqi/M=387526.7663462.8651941.1588051
> /D=brclubs/S=2137114689:HM/Y=BR/EXP=1136669605/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]
> > > >    <[EMAIL PROTECTED]
> subject=Unsubscribe>
> > > >
> > > >    - 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=12fv5hg7b/M=387526.7663462.8660329.1588051/D=brclubs/S=2137114689:HM/Y=BR/EXP=1136898706/A=3225921/R=2/id=noscript/SIG=16f8dd56m/*http://landingstrip.dell.com/landingstrip/ls.asp?CID=10085&LID=290644&DGC=BA&DGStor=DHS&DGSite=Yahoo&Conum=BR&DURL=http://www1.la.dell.com/content/products/category.aspx/notebooks?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]<[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

 



Responder a