É bem simples : a view comum (ie, CREATE VIEW nomedela AS query; ) nada mais é do que o TEXTO DE UMA CONSULTA, que é armazenado no banco, assim a cada vez que vc fazer uma consulta na view, logicamente o texto vai ser lido e executado de novo,o plano vai ser refeito, etc, NÃO HÁ dados numa view comum... Caso vc queira uma view que depois do SQL executado seja feita uma 'cópia' local dos dados, aí nos próximos acessos o plano não precisa ser re-executado (a 'cópia' local dos dados é lida), no bd Oracle isso se chama MATERIALIZED VIEW, vc a cria com CREATE MATERIALIZED VIEW nnn , e (logicamente) há Diversas opções pra se especificar quando/como é feito o refresh dos dados dessa 'cópia' local.... Dá uma lida no manual 'SQL Reference' nos capítulos de CREATE VIEW e CREATE MATERIALIZED VIEW que vc acha refs, sintaxe e links pra exemplos do que foi falado.
[]s Chiappa --- Em oracle_br@yahoogrupos.com.br, "andreaugustocm" <andreaugust...@...> escreveu > > Bom dia Galera! > > Primeiro gostaria de desejar um ótimo ano a todos!! > > Vou mandar uma questão bem simples aos DBA's de plantão, caso puderam > ajudar... > > Como fica o plano de execução de uma VIEW, considerando a situação que fiz um > select na VIEW que deverá trazer em torno de 100 linhas, sendo que o total de > linhas retornadas pela View quando efetuo um SELECT * FROM ..... gira em > torno de um milhão de linhas? A View seleciona um milhão de linhas e depois > aplica meu filtro para retornar as 100 linhas, ou o oracle é esperto e > somente pesquisa as 100 linhas na view? > > Grande Abraço, > André >