如何在此MySQL查询上获得更好的时间结果

时间:2019-07-01 12:48:55

标签: mysql join time

我正在使用此Mysql查询并且运行良好,但是我需要获得更好的时间结果。我该怎么办?

SELECT TblExistencias.id as ID, TblExistencias.codigo as Codigo, 
       TblPartes.detalle as Detalle,TblPartes.neto1 as PrecioActual, 
       TblExistencias.Condicion_Producto as Condicion,TblCategorias.categoria as Categoria, 
       TblSubcategorias.subcategoria as Subcategoria, TblExistencias.costo as Costo, 
       TblExistencias.serial as Serial, TblExistencias.vendido as Vendido, 
       TblConceptosFacturas.ventaonline as VentaOnline, TblRemitos.nroremitocompleto as Remito, 
       TblFacturas.nrofacturacompleto as Factura, TblFacturas.fecha as FechaVenta,
       TblConceptosFacturas.ventaTotUn as Venta,TblConceptosFacturas.comisionmlunit as Comision,
       TblFacturas.costoenvio as Envio, if(TblExistencias.vendido =1, 
       TblConceptosFacturas.ventaTotUn - TblExistencias.Costo - TblConceptosFacturas.comisionmlunit - TblFacturas.costoenvio,0) as Ganancia, 
       TblProveedores.razonsocial as Proveedor, TblFacturasCompras.nrofacturacompleto as Compra, 
       TblFacturasCompras.fecha as FechaCompra, TblClientes.razonsocial as Cliente 
from TblExistencias 
    left join TblPartes on TblExistencias.codigo = TblPartes.codigo1 
    left join TblRemitos on TblExistencias.id_RemitoVenta = TblRemitos.id
    left join TblFacturasCompras on TblExistencias.id_factura = TblFacturasCompras.id 
    left join TblClientes on TblRemitos.id_cliente = TblClientes.id 
    left join TblFacturas on TblRemitos.id_factura = TblFacturas.id 
    left join TblConceptosFacturas on TblFacturas.id=TblConceptosFacturas.id_factura and TblConceptosFacturas.codigoproducto = TblExistencias.codigo 
    left join TblCategorias on TblCategorias.id = TblPartes.id_categoria 
    left join TblSubcategorias on TblPartes.id_subcategoria = TblSubcategorias.id 
    left join TblProveedores on TblFacturasCompras.id_proveedor = TblProveedores.id 
order by comision desc

2 个答案:

答案 0 :(得分:0)

解决方案是在每个关系列上创建一个index,例如:

TblFacturasCompras.id_proveedor = TblProveedores.id

答案 1 :(得分:-2)

问题在订单子句中,查询从87秒传递到4秒。感谢您的帮助。