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, 51139, 51138, 51137, 51136, 
    51135, 40, 51144, 51143, 51142, 51141, 
    51140, 39, 51205, 51204, 51203, 51202, 
    125, 17, 56, 51295, 117, 116, 106, 58, 
    57, 5, 51349, 122
  ) 
GROUP BY 
  p.product_id

Query time 0.00046

JSON explain

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