Re: RES: [oracle_br] Indice Bitmap, quando utilizar?

2008-01-28 Por tôpico rei_do_delphi
Cassiano,
eu estava lendo ontem um livro do Thomas Kyte ontem que fala 
justamente sobre isso. Porém, no exemplo que ele utilizou, havia 
muitas atualizações nos registros, em específico na coluna onde 
residia o índice bitmap. E devido as atualizações, o sistema 
ficava lento. A solução que ele adotou neste caso foi de criar um 
índice tipo função neste campo, do tipo b-tree mesmo. Porém, no 
exemplo, ele citava o campo com apenas 2 valores. Acho que no seu 
caso teria que verificar a real necessidade ( apenas consulta ou 
consulta/atualização) para julgar qual o melhor tipo de índice. 
Espero ter ajudado,
Bruno Cantelli da Conceição.

--- Em oracle_br@yahoogrupos.com.br, HENRIQUIS Milton 
[EMAIL PROTECTED] escreveu

 Seria um ótimo caso para testara performance com esse tipo de 
índice.
  
 Se fossem cerca de 8 valores distintos, eu diria que
 seria um fortíssimo candidato a índice bitmap pra uma tabela
 desse tamanho.
 Com 35 valores... sinceramente não sei te dizer, mas
 ainda acredito que seria interessante.
  
  
 De qualquer forma, um teste de performance com o índice
 seria o ideal, não acham pessoal?
  
 
 Milton Bastos Henriquis Junior
 
 Oracle Database Administrator
 
  
 
  
 
   -Mensagem original-
   De: oracle_br@yahoogrupos.com.br 
[mailto:[EMAIL PROTECTED] Em nome de cassianoroloff
   Enviada em: segunda-feira, 28 de janeiro de 2008 11:45
   Para: oracle_br@yahoogrupos.com.br
   Assunto: [oracle_br] Indice Bitmap, quando utilizar?
   
   
 
   Olá,
   
   Tenho uma tabela de notas com aprox. 6 milhoes de registros, 
e uma
   coluna TipoNota char(2). Nesta coluna o pessoal guarda o 
tipo da
   nota no formato string:
   'EA' = Entrada A Vista
   'SP' = Saida Prazo.
   
   A coluna possui certa de 35 valores distintos, e várias 
consultas
   utilizam essa coluna no where.
   
   Seria coerente criar um indice bitmap em uma coluna com 35 
valores
   distintos em 6 milhoes de registros? pelo que vi a densidade 
da coluna
   é bem baixa...
   
   Obrigado pela ajuda.
   
   Cassiano Roloff
   DBA Oracle - Porto Alegre/RS
   
   
 

 
 
 
 [As partes desta mensagem que não continham texto foram removidas]





Re: RES: [oracle_br] Indice Bitmap, quando utilizar?

2008-01-28 Por tôpico rei_do_delphi
Outra coisa Cassiano, se não me engano, índices Bimap quando são 
atualizados, eles são totalmente lockados, já os B-Tree quando são 
atualizados, somente a parte dele correspondente é atualizada(neste 
caso, exclusão e inserção novamente no índice). Vou confirmar esta 
informação e amanhã te dou a resposta. 


--- Em oracle_br@yahoogrupos.com.br, cassianoroloff 
[EMAIL PROTECTED] escreveu

 Exato Bruno,
 
 Verifiquei que esta tabela é parte de um sistema bem OLTP, com 
muitas
 transacoes de insert/update. E por essa razao, um indice bitmap 
acaba
 criando mais locks que resolvendo o problema.
 
 Vou estudar um indice por funcao mesmo. Gostei de idéia.
 
 Obrigado.
 
 
 
 --- Em oracle_br@yahoogrupos.com.br, rei_do_delphi
 brunomaximomogi@ escreveu
 
  Cassiano,
  eu estava lendo ontem um livro do Thomas Kyte ontem que fala 
  justamente sobre isso. Porém, no exemplo que ele utilizou, havia 
  muitas atualizações nos registros, em específico na coluna onde 
  residia o índice bitmap. E devido as atualizações, o sistema 
  ficava lento. A solução que ele adotou neste caso foi de criar 
um 
  índice tipo função neste campo, do tipo b-tree mesmo. Porém, no 
  exemplo, ele citava o campo com apenas 2 valores. Acho que no seu 
  caso teria que verificar a real necessidade ( apenas consulta ou 
  consulta/atualização) para julgar qual o melhor tipo de índice. 
  Espero ter ajudado,
  Bruno Cantelli da Conceição.
  
  --- Em oracle_br@yahoogrupos.com.br, HENRIQUIS Milton 
  MILTON.HENRIQUIS@ escreveu
  
   Seria um ótimo caso para testara performance com esse tipo de 
  índice.

   Se fossem cerca de 8 valores distintos, eu diria que
   seria um fortíssimo candidato a índice bitmap pra uma tabela
   desse tamanho.
   Com 35 valores... sinceramente não sei te dizer, mas
   ainda acredito que seria interessante.


   De qualquer forma, um teste de performance com o índice
   seria o ideal, não acham pessoal?

   
   Milton Bastos Henriquis Junior
   
   Oracle Database Administrator
   

   

   
 -Mensagem original-
 De: oracle_br@yahoogrupos.com.br 
  [mailto:[EMAIL PROTECTED] Em nome de cassianoroloff
 Enviada em: segunda-feira, 28 de janeiro de 2008 11:45
 Para: oracle_br@yahoogrupos.com.br
 Assunto: [oracle_br] Indice Bitmap, quando utilizar?
 
 
   
 Olá,
 
 Tenho uma tabela de notas com aprox. 6 milhoes de registros, 
  e uma
 coluna TipoNota char(2). Nesta coluna o pessoal guarda o 
  tipo da
 nota no formato string:
 'EA' = Entrada A Vista
 'SP' = Saida Prazo.
 
 A coluna possui certa de 35 valores distintos, e várias 
  consultas
 utilizam essa coluna no where.
 
 Seria coerente criar um indice bitmap em uma coluna com 35 
  valores
 distintos em 6 milhoes de registros? pelo que vi a densidade 
  da coluna
 é bem baixa...
 
 Obrigado pela ajuda.
 
 Cassiano Roloff
 DBA Oracle - Porto Alegre/RS
 
 
   
  
   
   
   
   [As partes desta mensagem que não continham texto foram 
removidas]
  
 





Re: RES: [oracle_br] Indice Bitmap, quando utilizar?

2008-01-28 Por tôpico cassianoroloff
Exato Bruno,

Verifiquei que esta tabela é parte de um sistema bem OLTP, com muitas
transacoes de insert/update. E por essa razao, um indice bitmap acaba
criando mais locks que resolvendo o problema.

Vou estudar um indice por funcao mesmo. Gostei de idéia.

Obrigado.



--- Em oracle_br@yahoogrupos.com.br, rei_do_delphi
[EMAIL PROTECTED] escreveu

 Cassiano,
 eu estava lendo ontem um livro do Thomas Kyte ontem que fala 
 justamente sobre isso. Porém, no exemplo que ele utilizou, havia 
 muitas atualizações nos registros, em específico na coluna onde 
 residia o índice bitmap. E devido as atualizações, o sistema 
 ficava lento. A solução que ele adotou neste caso foi de criar um 
 índice tipo função neste campo, do tipo b-tree mesmo. Porém, no 
 exemplo, ele citava o campo com apenas 2 valores. Acho que no seu 
 caso teria que verificar a real necessidade ( apenas consulta ou 
 consulta/atualização) para julgar qual o melhor tipo de índice. 
 Espero ter ajudado,
 Bruno Cantelli da Conceição.
 
 --- Em oracle_br@yahoogrupos.com.br, HENRIQUIS Milton 
 MILTON.HENRIQUIS@ escreveu
 
  Seria um ótimo caso para testara performance com esse tipo de 
 índice.
   
  Se fossem cerca de 8 valores distintos, eu diria que
  seria um fortíssimo candidato a índice bitmap pra uma tabela
  desse tamanho.
  Com 35 valores... sinceramente não sei te dizer, mas
  ainda acredito que seria interessante.
   
   
  De qualquer forma, um teste de performance com o índice
  seria o ideal, não acham pessoal?
   
  
  Milton Bastos Henriquis Junior
  
  Oracle Database Administrator
  
   
  
   
  
  -Mensagem original-
  De: oracle_br@yahoogrupos.com.br 
 [mailto:[EMAIL PROTECTED] Em nome de cassianoroloff
  Enviada em: segunda-feira, 28 de janeiro de 2008 11:45
  Para: oracle_br@yahoogrupos.com.br
  Assunto: [oracle_br] Indice Bitmap, quando utilizar?
  
  
  
  Olá,
  
  Tenho uma tabela de notas com aprox. 6 milhoes de registros, 
 e uma
  coluna TipoNota char(2). Nesta coluna o pessoal guarda o 
 tipo da
  nota no formato string:
  'EA' = Entrada A Vista
  'SP' = Saida Prazo.
  
  A coluna possui certa de 35 valores distintos, e várias 
 consultas
  utilizam essa coluna no where.
  
  Seria coerente criar um indice bitmap em uma coluna com 35 
 valores
  distintos em 6 milhoes de registros? pelo que vi a densidade 
 da coluna
  é bem baixa...
  
  Obrigado pela ajuda.
  
  Cassiano Roloff
  DBA Oracle - Porto Alegre/RS
  
  
  
   
  
  
  
  [As partes desta mensagem que não continham texto foram removidas]