I have a sql statement that involve 6 tables, in laravel takes 26 seconds to execute it, but the same sql sentence takes around 0.0075 to .0089 seconds in phpmyadmin.
This is my code in laravel:
use DB;
$partidas = DB::select("SELECT A.Patente, A.Pedimento, A.SeccionAduanera, A.Fraccion, A.SecuenciaFraccion, A.ValorComercial, A.PrecioUnitario, A.CantidadUMComercial, A.UnidadMedidaComercial, A.CantidadUMTarifa, A.UnidadMedidaTarifa, A.MetodoValorizacion, A.PaisOrigenDestino, A.PaisCompradorVendedor,
B.ClavePermiso, B.NumeroPermiso,
C.ClaveCaso, C.IdentificadorCaso, C.ComplementoCaso,
D.ClaveContribucion, D.FormaPago, D.ImportePago,
E.TasaContribucion, E.TipoTasa,
F.Observaciones
FROM `551` A
INNER JOIN `553` B ON B.Fraccion = A.Fraccion
AND (A.SecuenciaFraccion = B.SecuenciaFraccion)
AND (A.auditoria_id = 4 AND B.auditoria_id = 4)
AND (A.Patente = '3452' AND B.Patente = '3452')
AND (A.Pedimento = '0000180' AND B.Pedimento = '0000180')
AND (A.SeccionAduanera = '430' AND B.SeccionAduanera = '430')
INNER JOIN `554` C ON C.Fraccion = A.Fraccion
AND (A.SecuenciaFraccion = C.SecuenciaFraccion)
AND (A.auditoria_id = 4 AND C.auditoria_id = 4)
AND (A.Patente = '3452' AND C.Patente = '3452')
AND (A.Pedimento = '0000180' AND C.Pedimento = '0000180')
AND (A.SeccionAduanera = '430' AND C.SeccionAduanera = '430')
INNER JOIN `557` D ON D.Fraccion = A.Fraccion
AND (A.SecuenciaFraccion = D.SecuenciaFraccion)
AND (A.auditoria_id = 4 AND D.auditoria_id = 4)
AND (A.Patente = '3452' AND D.Patente = '3452')
AND (A.Pedimento = '0000180' AND D.Pedimento = '0000180')
AND (A.SeccionAduanera = '430' AND D.SeccionAduanera = '430')
INNER JOIN `556` E ON E.Fraccion = A.Fraccion
AND (A.SecuenciaFraccion = E.SecuenciaFraccion)
AND (A.auditoria_id = 4 AND E.auditoria_id = 4)
AND (A.Patente = '3452' AND E.Patente = '3452')
AND (A.Pedimento = '0000180' AND E.Pedimento = '0000180')
AND (A.SeccionAduanera = '430' AND E.SeccionAduanera = '430')
INNER JOIN `558` F ON F.Fraccion = A.Fraccion
AND (A.SecuenciaFraccion = F.SecuenciaFraccion)
AND (A.auditoria_id = 4 AND F.auditoria_id = 4)
AND (A.Patente = '3452' AND F.Patente = '3452')
AND (A.Pedimento = '0000180' AND F.Pedimento = '0000180')
AND (A.SeccionAduanera = '430' AND F.SeccionAduanera = '430')
");
dd($partidas);
I need to know if i can make the statement with eloquent or another way to have a better performance in laravel.
Thank you!
PD: English isn't my first language, so please excuse any mistakes!