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á.
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á.