Pular para o conteúdo

Fóruns Banco de dados Oracle Procedure + View ou Tabela Procedure + View ou Tabela

#99714
rman
Participante

    [quote=”burga”:2xsanbq4][quote=”rman”:2xsanbq4]Burga, o raciocínio do nosso amigo não está correto ? O ganho é muito pouco que nem compensa ?

    Por que seria assim:


    SELECT *
    FROM (
    SELECT *
    FROM TABELA
    WHERE DATA >= '201001'
    ) T
    WHERE T.DATA = '201105'

    Como ele disse a condição DATA >= ‘201001’ retornaria 30% da tabela…[/quote]

    É que uma view não materializada não armazena fisicamente os dados de retorno. Então ela sempre vai executar a consulta que a “monta” quando ela for acessada. Isso dá uma falsa impressão de que você só está acessando os 30% dos dados da tabela original, mas antes disso, a consulta que monta a view está sendo executada na tabela original pra poder extrair estes 30%.
    [/quote]

    É verdade, pra chegar nos 30%, teve o custo do 100% do mesmo jeito…

    Pode se utilizar particionamento de tabela para melhorar o desempenho ? Ou neste caso, realmente VIEW MATERIALIZADA é a melhor solução ?