vadims81 Posted September 9, 2011 Share Posted September 9, 2011 hey, need help. My database was suspended by godaddy because this query in classes/cart.php is too slow. SELECT cp.`id_product_attribute`, cp.`id_product`, cp.`quantity` AS cart_quantity, pl.`name`, pl.`description_short`, pl.`available_now`, pl.`available_later`, p.`id_product`, p.`id_category_default`, p.`id_supplier`, p.`id_manufacturer`, p.`id_tax`, p.`on_sale`, p.`ecotax`, p.`quantity`, p.`price`, p.`reduction_price`, p.`reduction_percent`, p.`reduction_from`, p.`reduction_to`, p.`weight`, p.`out_of_stock`, p.`active`, p.`date_add`, p.`date_upd`, t.`id_tax`, tl.`name` AS tax, t.`rate`, pa.`price` AS price_attribute, pa.`quantity` AS quantity_attribute, pa.`ecotax` AS ecotax_attr, i.`id_image`, il.`legend`, pl.`link_rewrite`, cl.`link_rewrite` AS category, CONCAT(cp.`id_product`, cp.`id_product_attribute`) AS unique_id, IF (IFNULL(pa.`reference`, '') = '', p.`reference`, pa.`reference`) AS reference, IF (IFNULL(pa.`supplier_reference`, '') = '', p.`supplier_reference`, pa.`supplier_reference`) AS supplier_reference, (p.`weight`+ pa.`weight`) weight_attribute, IF (IFNULL(pa.`ean13`, '') = '', p.`ean13`, pa.`ean13`) AS ean13, pai.`id_image` AS 'pai_id_image' FROM `ps_cart_product` cp LEFT JOIN `ps_product` p ON p.`id_product` = cp.`id_product` LEFT JOIN `ps_product_lang` pl ON (p.`id_product` = pl.`id_product` AND pl.`id_lang` = 3) LEFT JOIN `ps_product_attribute` pa ON (pa.`id_product_attribute` = cp.`id_product_attribute`) LEFT JOIN `ps_tax` t ON (t.`id_tax` = p.`id_tax`) LEFT JOIN `ps_tax_lang` tl ON (t.`id_tax` = tl.`id_tax` AND tl.`id_lang` = 3) LEFT JOIN `ps_product_attribute_image` pai ON (pai.`id_product_attribute` = pa.`id_product_attribute`) LEFT JOIN `ps_image` i ON (IF(pai.`id_image`, i.`id_image` = (SELECT i2.`id_image` FROM `ps_image` i2 INNER JOIN `ps_product_attribute_image` pai2 ON (pai2.`id_image` = i2.`id_image`) WHERE i2.`id_product` = p.`id_product` AND pai2.`id_product_attribute` = pa.`id_product_attribute` ORDER BY i2.`position` LIMIT 1), i.`id_product` = p.`id_product` AND i.`cover` = 1) ) LEFT JOIN `ps_image_lang` il ON (i.`id_image` = il.`id_image` AND il.`id_lang` = 3) LEFT JOIN `ps_category_lang` cl ON (p.`id_category_default` = cl.`id_category` AND cl.`id_lang` = 3) WHERE `id_cart` = 1555 AND p.`id_product` IS NOT NULL GROUP BY unique_id ORDER BY cp.date_add ASC Does anybody have any suggestions on how to improve this query? Would really appreciate any help. Thanks a lot Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now