Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Diego Chiarelotto

Lentidão em consulta

Recommended Posts

Tenho um banco de dados que foi convertido do banco DB2 da totvs para um mysql e tem uma consulta que so deus para fazer ela ficar rapida.

demora mais de 1 minuto para mostrar resultados em um intervalo de 30 dias.

 

puxa os cadastros:

 

 

$sql = "SELECT a.F2_LOJA, a.F2_EMISSAO, a.F2_DOC, a.F2_SERIE, a.F2_XCARREG, a.F2_VALBRUT, a.F2_CLIENTE, a.D_E_L_E_T_, b.A1_COD, b.A1_NOME
FROM SF2010 a
INNER JOIN sa1010 B ON a.F2_CLIENTE = b.A1_COD
where a.F2_EMISSAO BETWEEN '$datainicio1' AND '$datafim1'
AND a.F2_SERIE = '001'
AND a.F2_LOJA = '01'
AND a.D_E_L_E_T_ <> '*'";
$sql_usuarios = mysql_query($sql) or die( mysql_error() );

 

faz a soma:

 

 

 

$selec = " SELECT SUM(F2_VALBRUT) as total FROM SF2010 WHERE F2_SERIE = '001' AND F2_LOJA = '01' AND F2_EMISSAO BETWEEN '$datainicio1' AND '$datafim1' AND D_E_L_E_T_ <> '*'";
$exec = mysql_query($selec, $db) or die(mysql_error());

 

o tempo de execução foi: Execution time: 211.402708 ms

Compartilhar este post


Link para o post
Compartilhar em outros sites

As "chaves" das tabelas Totvs tem sempre o xx_FILIAL na frente.

 

Tente alterar os joins para usar o campo da filial.

 

Estas tabelas tem índice ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

fiz assim agora e mesmo assim ficou lento:

 

 

 

SELECT a.F2_FILIAL, a.F2_LOJA, a.F2_EMISSAO, a.F2_DOC, a.F2_SERIE, a.F2_XCARREG, a.F2_VALBRUT, a.F2_CLIENTE, a.D_E_L_E_T_, b.A1_COD, b.A1_NOME
FROM SF2010 a
INNER JOIN sa1010 B ON a.F2_FILIAL = '01' AND a.F2_CLIENTE = b.A1_COD
where a.F2_SERIE = '001'
AND a.F2_LOJA = '01'
AND a.F2_EMISSAO BETWEEN '$datainicio1' AND '$datafim1'
AND a.D_E_L_E_T_ <> '*'

 

agora não sei se ela tem indice e como ainda sou meio basicao em banco de dados não sei, como olho se ela tem indice?

Compartilhar este post


Link para o post
Compartilhar em outros sites

No MySql não sei , acho que depende do engine para ver se implementa ou não índice

 

No Configurador da Totvs se pode ver os índices do dicionário Totvs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo que vi só tem o índice da PK R_E_C_N_O_.

 

Não conseguiu com a outra equipe os índices da tabela ?

 

A baixo o que temos aqui (Oracle)

 

 

INDICE                         COLUNA                            POSICAO
------------------------------ ------------------------------ ----------
SA10101                        A1_FILIAL                               1
SA10101                        A1_COD                                  2
SA10101                        A1_LOJA                                 3
SA10101                        R_E_C_N_O_                              4
SA10101                        D_E_L_E_T_                              5
SA10102                        A1_FILIAL                               1
SA10102                        A1_NOME                                 2
SA10102                        A1_LOJA                                 3
SA10102                        R_E_C_N_O_                              4
SA10102                        D_E_L_E_T_                              5
SA10103                        A1_FILIAL                               1
SA10103                        A1_CGC                                  2
SA10103                        R_E_C_N_O_                              3
SA10103                        D_E_L_E_T_                              4
SA10104                        A1_FILIAL                               1
SA10104                        A1_TEL                                  2
SA10104                        A1_DDD                                  3
SA10104                        A1_DDI                                  4
SA10104                        R_E_C_N_O_                              5
SA10104                        D_E_L_E_T_                              6
SA10105                        A1_FILIAL                               1
SA10105                        A1_NREDUZ                               2
SA10105                        R_E_C_N_O_                              3
SA10105                        D_E_L_E_T_                              4
SA10106                        A1_FILIAL                               1
SA10106                        A1_GRPVEN                               2
SA10106                        R_E_C_N_O_                              3
SA10106                        D_E_L_E_T_                              4
SA10107                        A1_FILIAL                               1
SA10107                        A1_NUMRA                                2
SA10107                        R_E_C_N_O_                              3
SA10107                        D_E_L_E_T_                              4
SA10108                        A1_FILIAL                               1
SA10108                        A1_VINCULO                              2
SA10108                        R_E_C_N_O_                              3
SA10108                        D_E_L_E_T_                              4
SA1010_PK                      R_E_C_N_O_                              1
SA1010_UNQ                     A1_FILIAL                               1
SA1010_UNQ                     A1_COD                                  2
SA1010_UNQ                     A1_LOJA                                 3
SA1010_UNQ                     R_E_C_D_E_L_                            4
SF20101                        F2_FILIAL                               1
SF20101                        F2_DOC                                  2
SF20101                        F2_SERIE                                3
SF20101                        F2_CLIENTE                              4
SF20101                        F2_LOJA                                 5
SF20101                        F2_FORMUL                               6
SF20101                        F2_TIPO                                 7
SF20101                        R_E_C_N_O_                              8
SF20101                        D_E_L_E_T_                              9
SF20102                        F2_FILIAL                               1
SF20102                        F2_CLIENTE                              2
SF20102                        F2_LOJA                                 3
SF20102                        F2_DOC                                  4
SF20102                        F2_SERIE                                5
SF20102                        R_E_C_N_O_                              6
SF20102                        D_E_L_E_T_                              7
SF20103                        F2_FILIAL                               1
SF20103                        F2_ECF                                  2
SF20103                        F2_EMISSAO                              3
SF20103                        F2_PDV                                  4
SF20103                        F2_SERIE                                5
SF20103                        F2_MAPA                                 6
SF20103                        F2_DOC                                  7
SF20103                        R_E_C_N_O_                              8
SF20103                        D_E_L_E_T_                              9
SF20104                        F2_FILIAL                               1
SF20104                        F2_SERIE                                2
SF20104                        F2_EMISSAO                              3
SF20104                        F2_DOC                                  4
SF20104                        F2_CLIENTE                              5
SF20104                        F2_LOJA                                 6
SF20104                        R_E_C_N_O_                              7
SF20104                        D_E_L_E_T_                              8
SF20105                        F2_FILIAL                               1
SF20105                        F2_CARGA                                2
SF20105                        F2_SEQCAR                               3
SF20105                        F2_SERIE                                4
SF20105                        F2_DOC                                  5
SF20105                        F2_CLIENTE                              6
SF20105                        F2_LOJA                                 7
SF20105                        R_E_C_N_O_                              8
SF20105                        D_E_L_E_T_                              9
SF20106                        F2_FILIAL                               1
SF20106                        F2_SERIORI                              2
SF20106                        F2_NFORI                                3
SF20106                        R_E_C_N_O_                              4
SF20106                        D_E_L_E_T_                              5
SF20107                        F2_FILIAL                               1
SF20107                        F2_HAWB                                 2
SF20107                        R_E_C_N_O_                              3
SF20107                        D_E_L_E_T_                              4
SF20108                        F2_FILIAL                               1
SF20108                        F2_NFELETR                              2
SF20108                        F2_EMINFE                               3
SF20108                        F2_CLIENTE                              4
SF20108                        F2_LOJA                                 5
SF20108                        R_E_C_N_O_                              6
SF20108                        D_E_L_E_T_                              7
SF2010_PK                      R_E_C_N_O_                              1
SF2010_UNQ                     F2_FILIAL                               1
SF2010_UNQ                     F2_DOC                                  2
SF2010_UNQ                     F2_SERIE                                3
SF2010_UNQ                     F2_CLIENTE                              4
SF2010_UNQ                     F2_LOJA                                 5
SF2010_UNQ                     R_E_C_D_E_L_                            6

 


Compartilhar este post


Link para o post
Compartilhar em outros sites

Motta vc que conheçe o banco da totvs, existe alguma tabela que ja vem o nome do cliente ao inves de vir so o codigo dele???

 

assim eu evitaria fazer um inner join e consultava em apenas uma tabela, ja que o que preciso e saber o valor faturado em nfe por mes.

 

att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.