CoolTom Posted June 20, 2016 Share Posted June 20, 2016 Hi, this query slow down eshop if it have "more" (like 7000+) product. this query execute take about 20-40s. In PHPMyAdmin it say: Copying to tmp table SELECT p . * , product_shop . * , stock.out_of_stock, IFNULL( stock.quantity, 0 ) AS quantity, MAX( product_attribute_shop.id_product_attribute ) id_product_attribute, product_attribute_shop.minimal_quantity AS product_attribute_minimal_quantity, pl.`description` , pl.`description_short` , pl.`available_now` , pl.`available_later` , pl.`link_rewrite` , pl.`meta_description` , pl.`meta_keywords` , pl.`meta_title` , pl.`name` , MAX( image_shop.`id_image` ) id_image, il.`legend` , m.`name` AS manufacturer_name, cl.`name` AS category_default, DATEDIFF( product_shop.`date_add` , DATE_SUB( NOW( ) , INTERVAL 200DAY ) ) >0 AS new, product_shop.price AS orderpriceFROM `smpsp_category_product` cpLEFT JOIN `smpsp_product` p ON p.`id_product` = cp.`id_product`INNER JOIN smpsp_product_shop product_shop ON ( product_shop.id_product = p.id_productAND product_shop.id_shop =2 )LEFT JOIN `smpsp_product_attribute` pa ON ( p.`id_product` = pa.`id_product` )LEFT JOIN smpsp_product_attribute_shop product_attribute_shop ON ( product_attribute_shop.id_product_attribute = pa.id_product_attributeAND product_attribute_shop.id_shop =2AND product_attribute_shop.`default_on` =1 )LEFTJOIN smpsp_stock_available stock ON ( stock.id_product = p.id_productAND stock.id_product_attribute = IFNULL( `product_attribute_shop`.id_product_attribute, 0 )AND stock.id_shop =2 )LEFT JOIN `smpsp_category_lang` cl ON ( product_shop.`id_category_default` = cl.`id_category`AND cl.`id_lang` =2AND cl.id_shop =2 )LEFT JOIN `smpsp_product_lang` pl ON ( p.`id_product` = pl.`id_product`AND pl.`id_lang` =2AND pl.id_shop =2 )LEFT JOIN `smpsp_image` i ON ( i.`id_product` = p.`id_product` )LEFT JOIN smpsp_image_shop image_shop ON ( image_shop.id_image = i.id_imageAND image_shop.id_shop =2AND image_shop.cover =1 )LEFT JOIN `smpsp_image_lang` il ON ( image_shop.`id_image` = il.`id_image`AND il.`id_lang` =2 )LEFT JOIN `smpsp_manufacturer` m ON m.`id_manufacturer` = p.`id_manufacturer`WHERE product_shop.`id_shop` =2AND cp.`id_category` =156AND product_shop.`active` =1AND product_shop.`visibility`IN ("both", "catalog")GROUP BY product_shop.id_productORDER BY cp.`position` ASCLIMIT 0 , 100 --------------- What can make this long qury?? I can not turn on _PS_DEBUG_PROFILING_ because if i do, it show nothing on frontend :/ Thanks for ideas Link to comment Share on other sites More sharing options...
musicmaster Posted June 21, 2016 Share Posted June 21, 2016 I can remember one case where such a problem was caused because somewhere somehow a database index had disappeared. Re-entering it solved the problem. You seem not to have a copy of your shop on your local computer. Yet that is very much recommended as it allows you to experiment. 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