SELECT 
  cscart_discussion.object_id AS product_id, 
  AVG(
    cscart_discussion_rating.rating_value
  ) AS average_rating, 
  cscart_discussion.type AS discussion_type, 
  cscart_discussion.thread_id AS discussion_thread_id 
FROM 
  cscart_discussion 
  LEFT JOIN cscart_discussion_posts ON cscart_discussion_posts.thread_id = cscart_discussion.thread_id 
  AND cscart_discussion_posts.status = "A" 
  LEFT JOIN cscart_discussion_rating ON cscart_discussion.thread_id = cscart_discussion_rating.thread_id 
  AND cscart_discussion_rating.post_id = cscart_discussion_posts.post_id 
  AND cscart_discussion_rating.rating_value != 0 
WHERE 
  cscart_discussion.object_id IN (
    88025, 84696, 88938, 87996, 88549, 89018, 
    84699, 88516, 88519, 89109, 89116, 
    89784, 88073, 88195, 88207, 88768, 
    88940, 88449, 88466, 88482, 88040, 
    88690, 88737, 84703, 84706, 88082, 
    91053, 87616, 87624, 90815, 88941, 
    89102, 89108, 89110, 89115, 87958, 
    88068, 88675, 88722, 87951, 88067, 
    88512, 88548, 88590, 88591, 88592, 
    90834, 88447
  ) 
  AND cscart_discussion.object_type = "P" 
GROUP BY 
  cscart_discussion.object_id

Query time 0.00103

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "55.46"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": false,
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_discussion",
            "access_type": "range",
            "possible_keys": [
              "object_id"
            ],
            "key": "object_id",
            "used_key_parts": [
              "object_id",
              "object_type"
            ],
            "key_length": "6",
            "rows_examined_per_scan": 48,
            "rows_produced_per_join": 48,
            "filtered": "100.00",
            "index_condition": "((`nuie_scalesta_net`.`cscart_discussion`.`object_id` in (88025,84696,88938,87996,88549,89018,84699,88516,88519,89109,89116,89784,88073,88195,88207,88768,88940,88449,88466,88482,88040,88690,88737,84703,84706,88082,91053,87616,87624,90815,88941,89102,89108,89110,89115,87958,88068,88675,88722,87951,88067,88512,88548,88590,88591,88592,90834,88447)) and (`nuie_scalesta_net`.`cscart_discussion`.`object_type` = 'P'))",
            "cost_info": {
              "read_cost": "28.81",
              "eval_cost": "4.80",
              "prefix_cost": "33.61",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "thread_id",
              "object_id",
              "object_type",
              "type"
            ]
          }
        },
        {
          "table": {
            "table_name": "cscart_discussion_posts",
            "access_type": "ref",
            "possible_keys": [
              "thread_id",
              "thread_id_2"
            ],
            "key": "thread_id",
            "used_key_parts": [
              "thread_id"
            ],
            "key_length": "3",
            "ref": [
              "nuie_scalesta_net.cscart_discussion.thread_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 48,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "12.00",
              "eval_cost": "4.80",
              "prefix_cost": "50.41",
              "data_read_per_join": "21K"
            },
            "used_columns": [
              "post_id",
              "thread_id",
              "status"
            ],
            "attached_condition": "<if>(is_not_null_compl(cscart_discussion_posts), (`nuie_scalesta_net`.`cscart_discussion_posts`.`status` = 'A'), true)"
          }
        },
        {
          "table": {
            "table_name": "cscart_discussion_rating",
            "access_type": "ALL",
            "possible_keys": [
              "PRIMARY",
              "thread_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 48,
            "filtered": "100.00",
            "using_join_buffer": "hash join",
            "cost_info": {
              "read_cost": "0.25",
              "eval_cost": "4.80",
              "prefix_cost": "55.46",
              "data_read_per_join": "768"
            },
            "used_columns": [
              "rating_value",
              "post_id",
              "thread_id"
            ],
            "attached_condition": "<if>(is_not_null_compl(cscart_discussion_rating), ((`nuie_scalesta_net`.`cscart_discussion_rating`.`post_id` = `nuie_scalesta_net`.`cscart_discussion_posts`.`post_id`) and (`nuie_scalesta_net`.`cscart_discussion_rating`.`thread_id` = `nuie_scalesta_net`.`cscart_discussion`.`thread_id`) and (`nuie_scalesta_net`.`cscart_discussion_rating`.`rating_value` <> 0)), true)"
          }
        }
      ]
    }
  }
}

Result

product_id average_rating discussion_type discussion_thread_id
84696 D 92734
84699 D 92737
84703 D 92741
84706 D 92744
87616 D 95654
87624 D 95662
87951 D 95989
87958 D 95996
87996 D 96034
88025 D 96063
88040 D 96078
88067 D 96105
88068 D 96106
88073 D 96111
88082 D 96120
88195 D 96233
88207 D 96245
88447 D 96485
88449 D 96487
88466 D 96504
88482 D 96520
88512 D 96550
88516 D 96554
88519 D 96557
88548 D 96586
88549 D 96587
88590 D 96628
88591 D 96629
88592 D 96630
88675 D 96713
88690 D 96728
88722 D 96760
88737 D 96775
88768 D 96806
88938 D 96976
88940 D 96978
88941 D 96979
89018 D 97056
89102 D 97140
89108 D 97146
89109 D 97147
89110 D 97148
89115 D 97153
89116 D 97154
89784 D 97822
90815 D 98868
90834 D 98887
91053 D 99126