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 (
    89930, 90899, 90900, 90978, 90979, 91496, 
    85088, 85097, 85098, 85174, 85220, 
    85266, 83219, 83220, 83224, 83225, 
    85371, 85372, 85294, 85391, 85442, 
    85493, 91133, 91134, 91219, 91220, 
    91274, 91275, 85128, 85340, 89798, 
    89799, 89850, 89851, 89922, 89923, 
    91489, 91490, 83217, 83218, 83222, 
    83223, 85323, 85420, 85471, 85522, 
    89756, 89758
  ) 
  AND cscart_discussion.object_type = "P" 
GROUP BY 
  cscart_discussion.object_id

Query time 0.00114

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 (89930,90899,90900,90978,90979,91496,85088,85097,85098,85174,85220,85266,83219,83220,83224,83225,85371,85372,85294,85391,85442,85493,91133,91134,91219,91220,91274,91275,85128,85340,89798,89799,89850,89851,89922,89923,91489,91490,83217,83218,83222,83223,85323,85420,85471,85522,89756,89758)) 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
83217 D 91255
83218 D 91256
83219 D 91257
83220 D 91258
83222 D 91260
83223 D 91261
83224 D 91262
83225 D 91263
85088 D 93126
85097 D 93135
85098 D 93136
85128 D 93166
85174 D 93212
85220 D 93258
85266 D 93304
85294 D 93332
85323 D 93361
85340 D 93378
85371 D 93409
85372 D 93410
85391 D 93429
85420 D 93458
85442 D 93480
85471 D 93509
85493 D 93531
85522 D 93560
89756 D 97794
89758 D 97796
89798 D 97836
89799 D 97837
89850 D 97888
89851 D 97889
89922 D 97960
89923 D 97961
89930 D 97968
90899 D 98972
90900 D 98973
90978 D 99051
90979 D 99052
91133 D 99206
91134 D 99207
91219 D 99292
91220 D 99293
91274 D 99347
91275 D 99348
91489 D 99562
91490 D 99563
91496 D 99569