Pular para o conteúdo

Select com Join em tabelas com grande quantidade de dados.

Responder tópico
  • Denunciar
  • Indicar

1. Select com Join em tabelas com grande quantidade de dados.

Enviado em 07/11/2017 - 18:44h

Boa tarde,

Galerinha não sou muito experiente com banco de dados e me deparei com uma situação onde tenho de fazer um select com JOIN em duas tabelas bem grandinhas...
Tabela 1: 7 386 025 linhas.
Tabela 2: 12 412 593 linhas.

SELECT a.uniqueid,a.calldate,a.src,a.lastapp,b.call_id,b.verb,b.data1,b.data2 FROM cdr a INNER JOIN queue_log b ON (a.uniqueid = b.call_id) WHERE a.lastapp='QUEUE' AND(b.verb='COMPLETECALLER' OR b.verb='COMPLETEAGENT') AND a.calldate LIKE '2017-11-07%';

Preciso pegar todos dados da tabela cdr onde o unique id seja igual ao call_id da tabela queue_log, o lastapp da tabela cdr seja igual a QUEUE, o verb da tabela queue_log seja igual a COMPLETECALLER ou COMPLETEAGENT e a datetime da tabela cdr seja o dia atual inteiro.

Creio que o select esteja correto, porém demora muito para rodar, apesar da máquina ser boa, há alguma forma que eu possa otimizar esse comando? grato desde já.

Responder tópico

2. RE:Select com Join em tabelas com grande quantidade de dados.

Enviado em 07/11/2017 - 21:39h

Amigo, se eu não estiver enganado, você pode usar views para facilitar essa requisição.

Seguem alguns links que podem te ajudar.
https://www.w3schools.com/sql/sql_view.asp
https://www.tutorialspoint.com/sql/sql-using-views.htm
https://www.devmedia.com.br/conceitos-e-criacao-de-views-no-sql-server/22390

3. Re: Select com Join em tabelas com grande quantidade de dados.

Enviado em 08/11/2017 - 15:47h

Amigo, no caso gostaria de saber se há como receber os dados mais rápidamente, executar o select mais rápido, não simplificar a escrita do código.

4. Re: Select com Join em tabelas com grande quantidade de dados.

Enviado em 08/11/2017 - 16:38h

FranciscoPessoa escreveu:

Amigo, no caso gostaria de saber se há como receber os dados mais rápidamente, executar o select mais rápido, não simplificar a escrita do código.


As tabelas possuem indices? Se não possuem, é bom criar.
Se já possuem índices, eles estão fragmentados? Caso estejam, é necessário desfragmentar ou recriar os índices.

5. RE:Select com Join em tabelas com grande quantidade de dados.

Enviado em 08/11/2017 - 18:36h

madrugada escreveu:

FranciscoPessoa escreveu:

Amigo, no caso gostaria de saber se há como receber os dados mais rápidamente, executar o select mais rápido, não simplificar a escrita do código.


As tabelas possuem indices? Se não possuem, é bom criar.
Se já possuem índices, eles estão fragmentados? Caso estejam, é necessário desfragmentar ou recriar os índices.


http://www.linhadecodigo.com.br/artigo/1308/melhorando-desempenho-de-consultas-utilizando-views-inde...

Usando as Views indexadas você pode melhorar o desempenho da requisição.

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder