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 > 1747385723
  ) 
  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 
  5400, 40

Query time 0.09708

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
67841 Razors Edge (The Sticky Bandits Remix) Toolbox Digital Shop P 0
68817 Wide Awake Toolbox Digital Shop P 0
67790 Motherfucker (Now That's What I Call A Paul Glazby Remix) Toolbox Digital Shop P 0
67789 Motherfucker Toolbox Digital Shop P 0
67788 Locked Up (Adam M Remix) Toolbox Digital Shop P 0
67787 Reunion Toolbox Digital Shop P 0
67786 Rough N Tough (Adam M Remix) Toolbox Digital Shop P 0
67785 Domestic Toolbox Digital Shop P 0
67784 Funked Off Toolbox Digital Shop P 0
67783 Fantastic (Paul King's Twisted T Remix) Toolbox Digital Shop P 0
67782 Beyond Motion Toolbox Digital Shop P 0
67781 Mortal Toolbox Digital Shop P 0
67780 Out Of Control (Dyson & Hilz Remix) Toolbox Digital Shop P 0
67779 I Be Cookin' Toolbox Digital Shop P 0
67778 Just Lose It Toolbox Digital Shop P 0
67777 Power Toolbox Digital Shop P 0
67776 Escalator Toolbox Digital Shop P 0
67775 Early Learning Toolbox Digital Shop P 0
67774 Miloude (Ben Stevens Remix) Toolbox Digital Shop P 0
67773 Lucy In The Sky With Hoovers (Grady G Remix) Toolbox Digital Shop P 0
67772 Rat Race Toolbox Digital Shop P 0
67771 Nothing Held Back Toolbox Digital Shop P 0
68694 Party Blocker Toolbox Digital Shop P 0
68693 Time to be Bad Toolbox Digital Shop P 0
68661 Ground & Pound (Original Mix) Toolbox Digital Shop P 0
68532 Somebody Toolbox Digital Shop P 0
68124 Can't Have You (Original Mix) Toolbox Digital Shop P 0
68123 Can't Have You (Radio Edit) Toolbox Digital Shop P 0
68692 Anthrax Toolbox Digital Shop P 0
68662 Lifting Up Toolbox Digital Shop P 0
68573 Open Door Toolbox Digital Shop P 0
68531 Axis Toolbox Digital Shop P 0
68374 Beatific (Original Mix) Toolbox Digital Shop P 0
68361 DEAD Toolbox Digital Shop P 0
68199 Whats Your Jam? (Dan Dyson Remix) Toolbox Digital Shop P 0
67871 The Architect Toolbox Digital Shop P 0
67844 Freak Right Out (Sean Inside Out & Steve Clack Remix) Toolbox Digital Shop P 0
67843 Derby Krunch (Alf Graham Remix) Toolbox Digital Shop P 0
67840 Hoovers Of Hell Toolbox Digital Shop P 0
68201 Take You Back Toolbox Digital Shop P 0