Я обычно использую ОРМ вместо SQL и я немного оторваны на различные JOIN и ...Оптимизация (My) SQL Query
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 Framework и обычно использовал Zend_Db_Table_Row::find(Parent|Dependent)Row(set)('TableClass')
, но мне нужно сделать много соединений, и я подумал, что это улучшит производительность на делая все это в одном запросе вместо сотен ...
Могу ли я улучшить выше запроса, используя более подходящие JOIN или другую реализацию? Большое спасибо.