Re: RES: [oracle_br] Indice Bitmap, quando utilizar?
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?
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?
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]