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'
  ) 
WHERE 
  dp.status = 'A' 
  and p.product_id in (
    3660, 3649, 3733, 3740, 3743, 3944, 3741, 
    3811, 3441, 3946, 3768, 3734, 3747, 
    3641, 3952, 3738, 3435, 3798, 3443, 
    3730, 3737, 3638, 3655, 3729, 3658, 
    3851, 3668, 3942, 3732, 3448, 3702, 
    3728, 3852, 3850, 3731, 3769, 3642, 
    3745, 3943, 3623, 3670, 3684, 3645, 
    3437, 3637, 3682, 3767, 3950, 3644, 
    3659, 3766, 3864, 3940, 3436, 3739, 
    3444, 3785, 3442, 3787, 3945, 3438, 
    3770, 3865, 3447, 3793, 3450, 3772, 
    3795, 3788, 3439, 3446, 3687, 3860, 
    3794, 3858, 3869, 3948, 3449, 3941, 
    3871, 3786, 3853, 3857, 3863, 3867, 
    3951, 3862, 3854, 3949, 3727, 3699, 
    3881, 3855, 3859
  ) 
GROUP BY 
  p.product_id

Query time 0.00098

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "2.31"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": false,
      "nested_loop": [
        {
          "table": {
            "table_name": "dp",
            "access_type": "ALL",
            "possible_keys": [
              "thread_id",
              "thread_id_2"
            ],
            "rows_examined_per_scan": 13,
            "rows_produced_per_join": 1,
            "filtered": "10.00",
            "cost_info": {
              "read_cost": "1.70",
              "eval_cost": "0.13",
              "prefix_cost": "1.83",
              "data_read_per_join": "582"
            },
            "used_columns": [
              "post_id",
              "thread_id",
              "status"
            ],
            "attached_condition": "(`softwarepirmam_hewadelivard_cscart_4`.`dp`.`status` = 'A')"
          }
        },
        {
          "table": {
            "table_name": "cscart_discussion",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY",
              "object_id"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "thread_id"
            ],
            "key_length": "3",
            "ref": [
              "softwarepirmam_hewadelivard_cscart_4.dp.thread_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 0,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "0.33",
              "eval_cost": "0.01",
              "prefix_cost": "2.28",
              "data_read_per_join": "1"
            },
            "used_columns": [
              "thread_id",
              "object_id",
              "object_type"
            ],
            "attached_condition": "((`softwarepirmam_hewadelivard_cscart_4`.`cscart_discussion`.`object_id` in (3660,3649,3733,3740,3743,3944,3741,3811,3441,3946,3768,3734,3747,3641,3952,3738,3435,3798,3443,3730,3737,3638,3655,3729,3658,3851,3668,3942,3732,3448,3702,3728,3852,3850,3731,3769,3642,3745,3943,3623,3670,3684,3645,3437,3637,3682,3767,3950,3644,3659,3766,3864,3940,3436,3739,3444,3785,3442,3787,3945,3438,3770,3865,3447,3793,3450,3772,3795,3788,3439,3446,3687,3860,3794,3858,3869,3948,3449,3941,3871,3786,3853,3857,3863,3867,3951,3862,3854,3949,3727,3699,3881,3855,3859)) and (`softwarepirmam_hewadelivard_cscart_4`.`cscart_discussion`.`object_type` = 'P'))"
          }
        },
        {
          "table": {
            "table_name": "p",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "product_id"
            ],
            "key_length": "3",
            "ref": [
              "softwarepirmam_hewadelivard_cscart_4.cscart_discussion.object_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 0,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "0.02",
              "eval_cost": "0.01",
              "prefix_cost": "2.31",
              "data_read_per_join": "294"
            },
            "used_columns": [
              "product_id"
            ]
          }
        }
      ]
    }
  }
}