Informações do Ambiente:
* Versão do Oracle: 10g
* Sistema Operacional: Red Hat 4
Pessoal, fizemos uma conversão de base em nosso ERP e depois disso, para acessar uma tabela, num primeiro acesso está bem lento(cadastro de produtos - leva 3 minutos - 30.000 linhas), num segundo acesso sem matar a seção da aplicação, fica bem rápido.
Acessando a base via plsql e fazendo um select dos produtos, está normal.
Gostaria de saber a opinião de vocês sobre o que poderia ser e qual a ação a desenvolver.
Obrigado.
Acesso lento
-
- Rank: Analista Júnior
- Mensagens: 73
- Registrado em: Qui, 21 Set 2006 10:13 am
- Localização: sp
-
- Rank: Programador Júnior
- Mensagens: 17
- Registrado em: Seg, 08 Set 2008 7:35 pm
- Localização: Ribeirão Preto - SP
Marcelo Nunes
Analista/Desenvolvedor Oracle
Analista/Desenvolvedor Oracle
A segunda consulta é mais rápida pois os dados já foram carregados na memória.
você está fazendo um select full na tabela ou utiliza alguma condição no where?
Esta tabela possui índices? Quando foi realizado o último analyze nela?
Cheque estas informações primeiramente...
você está fazendo um select full na tabela ou utiliza alguma condição no where?
Esta tabela possui índices? Quando foi realizado o último analyze nela?
Cheque estas informações primeiramente...
-
- Rank: Analista Júnior
- Mensagens: 73
- Registrado em: Qui, 21 Set 2006 10:13 am
- Localização: sp
O select é full. Me desculpe a ignorância, mas é que sou principiante. Como faço para executar um analyze ?
Obrigado.
Obrigado.
-
- Rank: Programador Júnior
- Mensagens: 17
- Registrado em: Seg, 08 Set 2008 7:35 pm
- Localização: Ribeirão Preto - SP
Marcelo Nunes
Analista/Desenvolvedor Oracle
Analista/Desenvolvedor Oracle
Execute o seguinte comando subistituindo o *OWNER* pelo owner da tabela (o usuário dono da tabela) e o *NOME_DA_TABELA* pelo nome da tabela
EXEC DBMS_STATS.GATHER_TABLE_STATS( OWNNAME => '*OWNER*'
, TABNAME => '*NOME_DA_TABELA*'
, ESTIMATE_PERCENT => dbms_stats.auto_sample_size
,METHOD_OPT => 'for all columns size skewonly'
);
-
- Rank: Analista Júnior
- Mensagens: 73
- Registrado em: Qui, 21 Set 2006 10:13 am
- Localização: sp
Boa tarde Marcelo !
Excecutei o script que você me passou apresentou esses erros que não consegui resolver:
SQL> EXEC DBMS_STATS.GATHER_TABLE_STATS( OWNNAME => 'RM',
begin DBMS_STATS.GATHER_TABLE_STATS( OWNNAME => 'RM',; end;
ORA-06550: line 2, column 63:
PLS-00103: Encountered the symbol ";" when expecting one of the following:
( - + case mod new not null others <um identificador>
<um identificador delimitado por aspas duplas>
<uma variável de ligação> avg count current exists max min
prior sql stddev sum variance execute forall merge time
timestamp interval date
<um literal de string com especificação de conjunto de caracteres>
<um número> <uma string SQL com aspas simples> pipe
<um literal de string alternativamente entre aspas c
SQL> TABNAME => 'TPRD',
2 ESTIMATE_PERCENT => dbms_stats.auto_sample_size,
3 METHOD_OPT => 'for all columns size skewonly'
4 );
TABNAME => 'TPRD',
ESTIMATE_PERCENT => dbms_stats.auto_sample_size,
METHOD_OPT => 'for all columns size skewonly'
)
ORA-00900: invalid SQL statement
Excecutei o script que você me passou apresentou esses erros que não consegui resolver:
SQL> EXEC DBMS_STATS.GATHER_TABLE_STATS( OWNNAME => 'RM',
begin DBMS_STATS.GATHER_TABLE_STATS( OWNNAME => 'RM',; end;
ORA-06550: line 2, column 63:
PLS-00103: Encountered the symbol ";" when expecting one of the following:
( - + case mod new not null others <um identificador>
<um identificador delimitado por aspas duplas>
<uma variável de ligação> avg count current exists max min
prior sql stddev sum variance execute forall merge time
timestamp interval date
<um literal de string com especificação de conjunto de caracteres>
<um número> <uma string SQL com aspas simples> pipe
<um literal de string alternativamente entre aspas c
SQL> TABNAME => 'TPRD',
2 ESTIMATE_PERCENT => dbms_stats.auto_sample_size,
3 METHOD_OPT => 'for all columns size skewonly'
4 );
TABNAME => 'TPRD',
ESTIMATE_PERCENT => dbms_stats.auto_sample_size,
METHOD_OPT => 'for all columns size skewonly'
)
ORA-00900: invalid SQL statement
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante