Ir para conteúdo

POWERED BY:

Arquivado

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

edklassen

Query e configuração no mySQL

Recommended Posts

Sou usuário novo do mySQL 5, instalei o servidor em um PC Intel Core 2 Duo com 80gb de memória e 512 de RAM, sistema operacional Windows XP Professional, tenho as ferramentas e o administrador do mysql 5, possuo uma tabela com 26 milhões de registros e outra com mais de 500 mil registros fiz uma query para que fosse filtrado os dados dessa tabela e fosse enviados a um arquivo txt de várias formas:

 

1º.- SELECT G.FILIAL,G.CPF_CNPJ,G.CONTRATO,G.DDD,G.TELEFONE,G.NOME_CLIENTE,G.TIPO_USO,G.SEQU

ENCIAL,G.DT_VENCTO,G.REF_FAT,G.VR_CONTA,

G.QTD_DIAS,G.COD_SEGMENTO,G.SIT_TERM,G.TERCEIRIZADA,G.COD_PESSOA,S.COD_ATENDIMEN

TO,S.DTE,S.TME,S.AGENTE,S.SITE

INTO OUTFILE 'C:/retorno/arquivo.txt'

FIELDS TERMINATED BY ';'

LINES TERMINATED BY '\r\n'

FROM tabelaA G LEFT JOIN TabelaB S ON G.campo = S.campo

WHERE (G.DIAS BETWEEN 5 AND 75) AND G.estatus='N';

 

 

2º.- SELECT G.FILIAL,G.CPF_CNPJ,G.CONTRATO,G.DDD,G.TELEFONE,G.NOME_CLIENTE,G.TIPO_USO,G.SEQU

ENCIAL,G.DT_VENCTO,G.REF_FAT,G.VR_CONTA,

G.QTD_DIAS,G.COD_SEGMENTO,G.SIT_TERM,G.TERCEIRIZADA,G.COD_PESSOA,S.COD_ATENDIMEN

TO,S.DTE,S.TME,S.AGENTE,S.SITE

INTO OUTFILE 'C:/retorno/arquivo.txt'

FIELDS TERMINATED BY ';'

LINES TERMINATED BY '\r\n'

FROM tabelaA G INNER JOIN TabelaB S ON G.campo = S.campo

WHERE (G.DIAS BETWEEN 5 AND 75) AND G.estatus='N';

 

As querys foram realizadas no Query Browser.

 

As tabelas possuem índices em vários campos importantes, mas essas query estão demorando demais para rodarem a primeira demorou mais de 6 horas e não terminou, a segunda em 4 horas tinha apenas retornado pouco mais de 100 mil registros.

 

O que quero com as consultas: Montar uma terceira tabela com o resultado filtrado dos registros da primeira que sejam coicidentes com a segunda, mas não estou conseguindo.

 

Existe alguma forma de aumentar a performance do meu servidor ?

Existe alguma forma de modificar a instalação básica do servidor para que as querys possam ser mais rápidas ?

Não auterei qualquer tipo de configuração em meu mySQL, existe alguma forma de optimizar as consultas?

Sei que com esse volume de registros o mySQL demorar meus de 2 horas é exagero e tem algo errado.

 

Peço que me ajudem pois já procurei na Internet, livros, tutoriais, apostilas, etc e nada consegui, mesmo as poucas pessoas que conheço que entendem um pouco mais que eu não me trouxeram solução.

 

Grato mesmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tipo de tabela?

alem disso acho que 26 milhoes de registro ... não é para o mysql talvez vosse boa ideia mudar para o sql server.

 

Sou usuário novo do mySQL 5, instalei o servidor em um PC Intel Core 2 Duo com 80gb de memória e 512 de RAM, sistema operacional Windows XP Professional, tenho as ferramentas e o administrador do mysql 5, possuo uma tabela com 26 milhões de registros e outra com mais de 500 mil registros fiz uma query para que fosse filtrado os dados dessa tabela e fosse enviados a um arquivo txt de várias formas:

 

1º.- SELECT G.FILIAL,G.CPF_CNPJ,G.CONTRATO,G.DDD,G.TELEFONE,G.NOME_CLIENTE,G.TIPO_USO,G.SEQU

ENCIAL,G.DT_VENCTO,G.REF_FAT,G.VR_CONTA,

G.QTD_DIAS,G.COD_SEGMENTO,G.SIT_TERM,G.TERCEIRIZADA,G.COD_PESSOA,S.COD_ATENDIMEN

TO,S.DTE,S.TME,S.AGENTE,S.SITE

INTO OUTFILE 'C:/retorno/arquivo.txt'

FIELDS TERMINATED BY ';'

LINES TERMINATED BY '\r\n'

FROM tabelaA G LEFT JOIN TabelaB S ON G.campo = S.campo

WHERE (G.DIAS BETWEEN 5 AND 75) AND G.estatus='N';

 

 

2º.- SELECT G.FILIAL,G.CPF_CNPJ,G.CONTRATO,G.DDD,G.TELEFONE,G.NOME_CLIENTE,G.TIPO_USO,G.SEQU

ENCIAL,G.DT_VENCTO,G.REF_FAT,G.VR_CONTA,

G.QTD_DIAS,G.COD_SEGMENTO,G.SIT_TERM,G.TERCEIRIZADA,G.COD_PESSOA,S.COD_ATENDIMEN

TO,S.DTE,S.TME,S.AGENTE,S.SITE

INTO OUTFILE 'C:/retorno/arquivo.txt'

FIELDS TERMINATED BY ';'

LINES TERMINATED BY '\r\n'

FROM tabelaA G INNER JOIN TabelaB S ON G.campo = S.campo

WHERE (G.DIAS BETWEEN 5 AND 75) AND G.estatus='N';

 

As querys foram realizadas no Query Browser.

 

As tabelas possuem índices em vários campos importantes, mas essas query estão demorando demais para rodarem a primeira demorou mais de 6 horas e não terminou, a segunda em 4 horas tinha apenas retornado pouco mais de 100 mil registros.

 

O que quero com as consultas: Montar uma terceira tabela com o resultado filtrado dos registros da primeira que sejam coicidentes com a segunda, mas não estou conseguindo.

 

Existe alguma forma de aumentar a performance do meu servidor ?

Existe alguma forma de modificar a instalação básica do servidor para que as querys possam ser mais rápidas ?

Não auterei qualquer tipo de configuração em meu mySQL, existe alguma forma de optimizar as consultas?

Sei que com esse volume de registros o mySQL demorar meus de 2 horas é exagero e tem algo errado.

 

Peço que me ajudem pois já procurei na Internet, livros, tutoriais, apostilas, etc e nada consegui, mesmo as poucas pessoas que conheço que entendem um pouco mais que eu não me trouxeram solução.

 

Grato mesmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tenho como mudar para o sql server e agora descobri que o truque são os indices que devem ser gerados nas tabelas innoDB.

Mas valeu pela dica mesmo

 

 

Tipo de tabela?

alem disso acho que 26 milhoes de registro ... não é para o mysql talvez vosse boa ideia mudar para o sql server.

 

Sou usuário novo do mySQL 5, instalei o servidor em um PC Intel Core 2 Duo com 80gb de memória e 512 de RAM, sistema operacional Windows XP Professional, tenho as ferramentas e o administrador do mysql 5, possuo uma tabela com 26 milhões de registros e outra com mais de 500 mil registros fiz uma query para que fosse filtrado os dados dessa tabela e fosse enviados a um arquivo txt de várias formas:

 

1º.- SELECT G.FILIAL,G.CPF_CNPJ,G.CONTRATO,G.DDD,G.TELEFONE,G.NOME_CLIENTE,G.TIPO_USO,G.SEQU

ENCIAL,G.DT_VENCTO,G.REF_FAT,G.VR_CONTA,

G.QTD_DIAS,G.COD_SEGMENTO,G.SIT_TERM,G.TERCEIRIZADA,G.COD_PESSOA,S.COD_ATENDIMEN

TO,S.DTE,S.TME,S.AGENTE,S.SITE

INTO OUTFILE 'C:/retorno/arquivo.txt'

FIELDS TERMINATED BY ';'

LINES TERMINATED BY '\r\n'

FROM tabelaA G LEFT JOIN TabelaB S ON G.campo = S.campo

WHERE (G.DIAS BETWEEN 5 AND 75) AND G.estatus='N';

 

 

2º.- SELECT G.FILIAL,G.CPF_CNPJ,G.CONTRATO,G.DDD,G.TELEFONE,G.NOME_CLIENTE,G.TIPO_USO,G.SEQU

ENCIAL,G.DT_VENCTO,G.REF_FAT,G.VR_CONTA,

G.QTD_DIAS,G.COD_SEGMENTO,G.SIT_TERM,G.TERCEIRIZADA,G.COD_PESSOA,S.COD_ATENDIMEN

TO,S.DTE,S.TME,S.AGENTE,S.SITE

INTO OUTFILE 'C:/retorno/arquivo.txt'

FIELDS TERMINATED BY ';'

LINES TERMINATED BY '\r\n'

FROM tabelaA G INNER JOIN TabelaB S ON G.campo = S.campo

WHERE (G.DIAS BETWEEN 5 AND 75) AND G.estatus='N';

 

As querys foram realizadas no Query Browser.

 

As tabelas possuem índices em vários campos importantes, mas essas query estão demorando demais para rodarem a primeira demorou mais de 6 horas e não terminou, a segunda em 4 horas tinha apenas retornado pouco mais de 100 mil registros.

 

O que quero com as consultas: Montar uma terceira tabela com o resultado filtrado dos registros da primeira que sejam coicidentes com a segunda, mas não estou conseguindo.

 

Existe alguma forma de aumentar a performance do meu servidor ?

Existe alguma forma de modificar a instalação básica do servidor para que as querys possam ser mais rápidas ?

Não auterei qualquer tipo de configuração em meu mySQL, existe alguma forma de optimizar as consultas?

Sei que com esse volume de registros o mySQL demorar meus de 2 horas é exagero e tem algo errado.

 

Peço que me ajudem pois já procurei na Internet, livros, tutoriais, apostilas, etc e nada consegui, mesmo as poucas pessoas que conheço que entendem um pouco mais que eu não me trouxeram solução.

 

Grato mesmo

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.