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 (
    89712, 89713, 89670, 88106, 88118, 88130, 
    88264, 88273, 88274, 88270, 88302, 
    88303, 89708, 89709, 89666, 88268, 
    88269, 89669, 89705, 89662, 89672, 
    89673, 88267, 89667, 89668, 89710, 
    89711, 88348, 88349, 88350, 89665, 
    88300, 88301, 88265, 88266, 88272, 
    89706, 89707, 88344, 88345, 88346, 
    88347, 89663, 89664, 89671, 89701, 
    89702, 88105
  ) 
  AND cscart_discussion.object_type = "P" 
GROUP BY 
  cscart_discussion.object_id

Query time 0.00101

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 (89712,89713,89670,88106,88118,88130,88264,88273,88274,88270,88302,88303,89708,89709,89666,88268,88269,89669,89705,89662,89672,89673,88267,89667,89668,89710,89711,88348,88349,88350,89665,88300,88301,88265,88266,88272,89706,89707,88344,88345,88346,88347,89663,89664,89671,89701,89702,88105)) 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
88105 D 96143
88106 D 96144
88118 D 96156
88130 D 96168
88264 D 96302
88265 D 96303
88266 D 96304
88267 D 96305
88268 D 96306
88269 D 96307
88270 D 96308
88272 D 96310
88273 D 96311
88274 D 96312
88300 D 96338
88301 D 96339
88302 D 96340
88303 D 96341
88344 D 96382
88345 D 96383
88346 D 96384
88347 D 96385
88348 D 96386
88349 D 96387
88350 D 96388
89662 D 97700
89663 D 97701
89664 D 97702
89665 D 97703
89666 D 97704
89667 D 97705
89668 D 97706
89669 D 97707
89670 D 97708
89671 D 97709
89672 D 97710
89673 D 97711
89701 D 97739
89702 D 97740
89705 D 97743
89706 D 97744
89707 D 97745
89708 D 97746
89709 D 97747
89710 D 97748
89711 D 97749
89712 D 97750
89713 D 97751