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 (
    91048, 91049, 91050, 84547, 84548, 84551, 
    84552, 84613, 84614, 84617, 84618, 
    84335, 84336, 84490, 84491, 84556, 
    84557, 85109, 84321, 89491, 89492, 
    89499, 89500, 89507, 89508, 89515, 
    89516, 83254, 83256, 83261, 83263, 
    90562, 90563, 90568, 90569, 90574, 
    90575, 86141, 86164, 86649, 86718, 
    85072, 85074, 85158, 85160, 85204, 
    85206, 85250
  ) 
  AND cscart_discussion.object_type = "P" 
GROUP BY 
  cscart_discussion.object_id

Query time 0.00086

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 (91048,91049,91050,84547,84548,84551,84552,84613,84614,84617,84618,84335,84336,84490,84491,84556,84557,85109,84321,89491,89492,89499,89500,89507,89508,89515,89516,83254,83256,83261,83263,90562,90563,90568,90569,90574,90575,86141,86164,86649,86718,85072,85074,85158,85160,85204,85206,85250)) 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
83254 D 91292
83256 D 91294
83261 D 91299
83263 D 91301
84321 D 92359
84335 D 92373
84336 D 92374
84490 D 92528
84491 D 92529
84547 D 92585
84548 D 92586
84551 D 92589
84552 D 92590
84556 D 92594
84557 D 92595
84613 D 92651
84614 D 92652
84617 D 92655
84618 D 92656
85072 D 93110
85074 D 93112
85109 D 93147
85158 D 93196
85160 D 93198
85204 D 93242
85206 D 93244
85250 D 93288
86141 D 94179
86164 D 94202
86649 D 94687
86718 D 94756
89491 D 97529
89492 D 97530
89499 D 97537
89500 D 97538
89507 D 97545
89508 D 97546
89515 D 97553
89516 D 97554
90562 D 98614
90563 D 98615
90568 D 98620
90569 D 98621
90574 D 98626
90575 D 98627
91048 D 99121
91049 D 99122
91050 D 99123