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 (
    315850, 315943, 316618, 323594, 323621, 
    324557, 73605, 87023, 265180, 300746, 
    305637, 312771, 323588, 324430, 325131, 
    325407, 228357, 261812, 293942, 301454, 
    311274, 312663, 323303, 323592, 323617, 
    323627, 325112, 325133, 265183, 286299, 
    292637, 305636, 323586, 323587, 326296, 
    327385, 328466, 302560, 305634, 305635, 
    311273, 312778, 312795, 312812, 315904, 
    323590, 323591, 323593, 323868, 325122, 
    325132, 325561, 227930, 300730, 305638, 
    323589, 325842, 328159, 300747, 312765, 
    312793, 312794, 315903, 325109, 330705, 
    306671, 312633, 324549, 185419, 269163, 
    273172, 299568, 300753, 302068, 312659, 
    325126, 327998, 328311, 185033, 229515
  ) 
GROUP BY 
  p.product_id

Query time 0.00117

JSON explain

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