SELECT 
  p.product_id, 
  ifnull(
    count(dp.post_id), 
    0
  ) as discussion_amount_posts 
FROM 
  cscart_discussion 
  INNER JOIN cscart_products as p ON (
    cscart_discussion.object_id = p.product_id
  ) 
  INNER JOIN cscart_discussion_posts as dp ON (
    cscart_discussion.thread_id = dp.thread_id 
    AND cscart_discussion.object_type = 'P' 
    AND cscart_discussion.company_id = 1
  ) 
WHERE 
  dp.status = 'A' 
  and p.product_id in (
    82, 51076, 51073, 51072, 51074, 51075, 
    22711, 22710, 51077, 51080, 51078, 
    51079, 51132, 51131, 51134, 51133, 
    51130, 41, 51139, 51138, 51137, 51136, 
    51135, 40, 51144, 51143, 51142, 51141, 
    51140, 39, 51146, 51145, 38, 51148, 
    51147, 51150, 51149, 37, 51169, 51168, 
    51167, 51166, 90, 51171, 51170, 51205, 
    51204, 51203, 51202, 125, 51209, 51208, 
    51207, 51206, 124, 27, 22, 17, 18, 56, 
    51295, 117, 116, 115, 81, 11, 51326, 
    135, 106, 58, 57, 5, 51349, 122, 51357, 
    51360, 51359, 51358, 51361, 30, 51362, 
    51363, 51364, 51365, 65, 140, 51385, 
    51386, 51387, 51388, 51389
  ) 
GROUP BY 
  p.product_id

Query time 0.00068

JSON explain

{
  "query_block": {
    "select_id": 1,
    "message": "no matching row in const table"
  }
}