Na verdade o analyze deve ser utilizado em aplicacoes que “suportam” esta caracteristica.
Se sua aplicacao utiliza-se muito de bind variables (select * from tabela where campo = :var) ela pode nao ser uma boa concorrente para utilizar este tipo de aplicacao.
Isso porque o analyze informa que o banco devera utilizar os dados estatisticos que ele tem armazenado. Se ele nao sabe qual valor ira buscar no banco, pode acabar fazendo o caminho errado.
O estimate na verdade é uma forma mais simples de analyze utilizado em sistemas de Data Warehouse onde voce tem tabelas de 300 ou 400 GB + indices. Imagine verificar estatisticamente uma tabela deste tipo.
Grande []
Carlos Henrique Duarte
DBA Oracle 11i