Jump to content

Suspended by godaddy because of slow query


vadims81

Recommended Posts

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...