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 (
    55, 143, 232, 298, 337, 339, 405, 427, 
    428, 429, 430, 431, 506, 516, 517, 520, 
    521, 522, 523, 1562, 1563, 1564, 1565, 
    1566, 1567, 1568, 1569, 1570, 1755, 
    1756, 1757, 1758, 1759, 1760, 1761, 
    1762, 1763, 1764, 1765, 1766, 1767, 
    1768, 1769, 1770, 1771, 3478, 3479, 
    3480, 5477, 5556
  ) 
GROUP BY 
  p.product_id

Query time 0.00039

JSON explain

{
  "query_block": {
    "select_id": 1,
    "table": {
      "message": "Impossible WHERE noticed after reading const tables"
    }
  }
}