SELECT 
  SQL_CALC_FOUND_ROWS products.product_id, 
  IF(
    shared_descr.product_id IS NOT NULL, 
    shared_descr.product, descr1.product
  ) as product, 
  companies.company as company_name, 
  products.product_type, 
  products.parent_product_id 
FROM 
  cscart_products as products 
  LEFT JOIN cscart_product_descriptions as descr1 ON descr1.product_id = products.product_id 
  AND descr1.lang_code = 'en' 
  LEFT JOIN cscart_product_prices as prices ON prices.product_id = products.product_id 
  AND prices.lower_limit = 1 
  LEFT JOIN cscart_companies AS companies ON companies.company_id = products.company_id 
  INNER JOIN cscart_products_categories as products_categories ON products_categories.product_id = products.product_id 
  INNER JOIN cscart_categories ON cscart_categories.category_id = products_categories.category_id 
  AND (
    cscart_categories.usergroup_ids = '' 
    OR FIND_IN_SET(
      0, cscart_categories.usergroup_ids
    ) 
    OR FIND_IN_SET(
      1, cscart_categories.usergroup_ids
    )
  ) 
  AND cscart_categories.status IN ('A', 'H') 
  AND cscart_categories.storefront_id IN (0, 1) 
  LEFT JOIN cscart_ult_product_descriptions shared_descr ON shared_descr.product_id = products.product_id 
  AND shared_descr.company_id = 1 
  AND shared_descr.lang_code = 'en' 
  LEFT JOIN cscart_product_restricted_countries AS prc ON prc.product_id = products.product_id 
  AND prc.country_code = 'US' 
  LEFT JOIN cscart_discussion ON cscart_discussion.object_id = products.product_id 
  AND cscart_discussion.object_type = 'P' 
  LEFT JOIN (
    SELECT 
      cscart_discussion_rating.thread_id, 
      AVG(
        cscart_discussion_rating.rating_value
      ) AS overall_rating 
    FROM 
      cscart_discussion_rating 
    GROUP BY 
      thread_id
  ) AS ratings ON ratings.thread_id = cscart_discussion.thread_id 
WHERE 
  1 
  AND cscart_categories.category_id IN (6, 35, 80) 
  AND companies.status IN ('A') 
  AND (
    products.usergroup_ids = '' 
    OR FIND_IN_SET(0, products.usergroup_ids) 
    OR FIND_IN_SET(1, products.usergroup_ids)
  ) 
  AND products.status IN ('A') 
  AND prices.usergroup_id IN (0, 0, 1) 
  AND (
    products.available_worldwide = 'Y' 
    OR prc.country_code IS NULL
  ) 
  AND !(
    products.out_of_stock_actions = 'B' && products.avail_since > 1747386244
  ) 
  AND products.parent_product_id = 0 
GROUP BY 
  products.product_id 
ORDER BY 
  products.timestamp desc, 
  products.product_id desc, 
  products.product_id ASC 
LIMIT 
  5120, 40

Query time 0.12876

Explain
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY companies ALL PRIMARY 1 Using where; Using temporary; Using filesort
1 PRIMARY cscart_categories range PRIMARY,c_status,p_category_id PRIMARY 3 3 Using where; Using join buffer (flat, BNL join)
1 PRIMARY products_categories ref PRIMARY,pt PRIMARY 3 toolboxdigitalshop_dev.cscart_categories.category_id 908 Using index
1 PRIMARY products eq_ref PRIMARY,status,idx_parent_product_id PRIMARY 3 toolboxdigitalshop_dev.products_categories.product_id 1 Using where
1 PRIMARY shared_descr eq_ref PRIMARY,product_id,company_id PRIMARY 13 toolboxdigitalshop_dev.products_categories.product_id,const,const 1 Using where
1 PRIMARY prc eq_ref PRIMARY PRIMARY 9 toolboxdigitalshop_dev.products_categories.product_id,const 1 Using where; Using index
1 PRIMARY cscart_discussion ref object_id object_id 6 toolboxdigitalshop_dev.products_categories.product_id,const 1 Using where; Using index
1 PRIMARY descr1 eq_ref PRIMARY,product_id PRIMARY 9 toolboxdigitalshop_dev.products_categories.product_id,const 1 Using where
1 PRIMARY prices ref usergroup,product_id,lower_limit,usergroup_id usergroup 3 toolboxdigitalshop_dev.products_categories.product_id 1 Using where; Using index
1 PRIMARY <derived2> ref key0 key0 4 toolboxdigitalshop_dev.cscart_discussion.thread_id 2 Using where
2 DERIVED cscart_discussion_rating ALL thread_id 1 Using temporary; Using filesort

Result

product_id product company_name product_type parent_product_id
73240 Hot Gurry Toolbox Digital Shop P 0
73116 Rock The House - Original Mix Toolbox Digital Shop P 0
72858 The Tradesman (Cupra Remix) Toolbox Digital Shop P 0
72857 The Tradesman (Original Mix) Toolbox Digital Shop P 0
73405 Ones and Twos Toolbox Digital Shop P 0
73404 Feel Good Toolbox Digital Shop P 0
73403 Happy Hour Toolbox Digital Shop P 0
73155 Arabian Nights Toolbox Digital Shop P 0
73115 Antychrone (Original Mix) Toolbox Digital Shop P 0
73351 Slender Man (Damaged Gudz Remix) Toolbox Digital Shop P 0
73350 Finally Toolbox Digital Shop P 0
73349 The Blackening Toolbox Digital Shop P 0
73348 Dirty Barry Toolbox Digital Shop P 0
72836 Our House (Original Mix) Toolbox Digital Shop P 0
73284 Fly Away (Original Mix) Toolbox Digital Shop P 0
73111 You Had It All (Original Mix) Toolbox Digital Shop P 0
71691 Shut Ur Mouth (Original Mix) Toolbox Digital Shop P 0
68825 Hardcore Power Toolbox Digital Shop P 0
49338 legend Toolbox Digital Shop P 0
44239 One for me Toolbox Digital Shop P 0
44238 Dolly Toolbox Digital Shop P 0
42033 IT'S TIME 2015 RE RELEASE Toolbox Digital Shop P 0
73271 Fear Cookie Toolbox Digital Shop P 0
73270 Tantrum Desire Toolbox Digital Shop P 0
73252 Rek The Dizcotek Toolbox Digital Shop P 0
73239 Vibrations Toolbox Digital Shop P 0
73237 Set Time Toolbox Digital Shop P 0
73217 2morrow Toolbox Digital Shop P 0
73156 Lucille Toolbox Digital Shop P 0
73119 Code Red Toolbox Digital Shop P 0
72856 Direct Drive (Wayne Smart Remix) Toolbox Digital Shop P 0
72855 Direct Drive (Original Mix) Toolbox Digital Shop P 0
72852 Big Boss Toolbox Digital Shop P 0
72032 Mass Hysterics (Original Mix) Toolbox Digital Shop P 0
71703 Lesson One (Original Mix) Toolbox Digital Shop P 0
71486 Music For Tha Raverz (Matt Wade & Joe Swales Remix) Toolbox Digital Shop P 0
71485 Putang Meringue (Vandalize Remix) Toolbox Digital Shop P 0
71484 Putang Meringue (Vandalize Radio Edit) Toolbox Digital Shop P 0
71483 Music For Tha Raverz (Matt Wade & Joe Swales Radio Edit) Toolbox Digital Shop P 0
73020 Jack The Ripper (Baseglitz Remix) Toolbox Digital Shop P 0