0
我通常使用ORM,而不是SQL,我稍稍脱节对不同的连接...优化(我的)SQL查询
SELECT `order_invoice`.*
, `client`.*
, `order_product`.*
, SUM(product.cost) as net
FROM `order_invoice`
LEFT JOIN `client`
ON order_invoice.client_id = client.client_id
LEFT JOIN `order_product`
ON order_invoice.invoice_id = order_product.invoice_id
LEFT JOIN `product`
ON order_product.product_id = product.product_id
WHERE (order_invoice.date_created >= '2009-01-01')
AND (order_invoice.date_created <= '2009-02-01')
GROUP BY `order_invoice`.`invoice_id`
表/列在逻辑上是名字......这是一个商店类型的应用程序...查询工作...它只是非常非常慢...
我使用Zend框架,通常会使用Zend_Db_Table_Row::find(Parent|Dependent)Row(set)('TableClass')
,但我必须做大量的连接,我认为它会提高性能全部在一个查询中而不是数百个...
我可以改进上面的查询通过使用更合适的JOIN或不同的实现?非常感谢。