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 (
    88117, 88129, 88263, 89660, 89659, 89661, 
    88343, 88365, 89658, 88296, 88297, 
    88115, 88127, 88139, 88299, 89699, 
    89700, 88342, 89704, 88381, 88382, 
    88104, 88116, 88128, 88262, 88338, 
    88377, 88378, 88114, 88126, 88138, 
    88298, 88334, 88337, 88364, 88374, 
    89657, 88330, 88340, 88341, 88261, 
    88335, 88336, 88379, 88380, 89703, 
    89721, 88333
  ) 
  AND cscart_discussion.object_type = "P" 
GROUP BY 
  cscart_discussion.object_id

Query time 0.00115

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 (88117,88129,88263,89660,89659,89661,88343,88365,89658,88296,88297,88115,88127,88139,88299,89699,89700,88342,89704,88381,88382,88104,88116,88128,88262,88338,88377,88378,88114,88126,88138,88298,88334,88337,88364,88374,89657,88330,88340,88341,88261,88335,88336,88379,88380,89703,89721,88333)) 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
88104 D 96142
88114 D 96152
88115 D 96153
88116 D 96154
88117 D 96155
88126 D 96164
88127 D 96165
88128 D 96166
88129 D 96167
88138 D 96176
88139 D 96177
88261 D 96299
88262 D 96300
88263 D 96301
88296 D 96334
88297 D 96335
88298 D 96336
88299 D 96337
88330 D 96368
88333 D 96371
88334 D 96372
88335 D 96373
88336 D 96374
88337 D 96375
88338 D 96376
88340 D 96378
88341 D 96379
88342 D 96380
88343 D 96381
88364 D 96402
88365 D 96403
88374 D 96412
88377 D 96415
88378 D 96416
88379 D 96417
88380 D 96418
88381 D 96419
88382 D 96420
89657 D 97695
89658 D 97696
89659 D 97697
89660 D 97698
89661 D 97699
89699 D 97737
89700 D 97738
89703 D 97741
89704 D 97742
89721 D 97759