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 (
    90554, 91100, 91101, 91104, 91105, 91107, 
    91108, 91109, 91186, 91187, 91190, 
    91191, 91193, 91194, 91195, 91241, 
    91242, 91245, 91246, 91248, 91249, 
    91250, 89755, 89757, 86187, 86210, 
    86511, 86787, 84681, 84682, 84685, 
    84686, 91076, 91077, 91080, 91081, 
    91083, 91084, 91085, 86902, 86927, 
    86963, 86988, 87024, 87049, 87085, 
    87107, 91131
  ) 
  AND cscart_discussion.object_type = "P" 
GROUP BY 
  cscart_discussion.object_id

Query time 0.00058

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 (90554,91100,91101,91104,91105,91107,91108,91109,91186,91187,91190,91191,91193,91194,91195,91241,91242,91245,91246,91248,91249,91250,89755,89757,86187,86210,86511,86787,84681,84682,84685,84686,91076,91077,91080,91081,91083,91084,91085,86902,86927,86963,86988,87024,87049,87085,87107,91131)) 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
84681 D 92719
84682 D 92720
84685 D 92723
84686 D 92724
86187 D 94225
86210 D 94248
86511 D 94549
86787 D 94825
86902 D 94940
86927 D 94965
86963 D 95001
86988 D 95026
87024 D 95062
87049 D 95087
87085 D 95123
87107 D 95145
89755 D 97793
89757 D 97795
90554 D 98606
91076 D 99149
91077 D 99150
91080 D 99153
91081 D 99154
91083 D 99156
91084 D 99157
91085 D 99158
91100 D 99173
91101 D 99174
91104 D 99177
91105 D 99178
91107 D 99180
91108 D 99181
91109 D 99182
91131 D 99204
91186 D 99259
91187 D 99260
91190 D 99263
91191 D 99264
91193 D 99266
91194 D 99267
91195 D 99268
91241 D 99314
91242 D 99315
91245 D 99318
91246 D 99319
91248 D 99321
91249 D 99322
91250 D 99323