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 (
    91084, 91085, 86902, 86927, 86963, 86988, 
    87024, 87049, 87085, 87107, 83569, 
    83571, 90580, 90581, 90851, 90853, 
    90930, 90932, 90585, 90919, 90998, 
    91011, 91012, 91013, 91023, 91024, 
    91025, 91035, 91036, 91037, 91048, 
    91049, 91050, 89491, 89492, 89499, 
    89500, 89507, 89508, 89515, 89516, 
    83254, 83256, 83261, 83263, 90562, 
    90563, 90568
  ) 
  AND cscart_discussion.object_type = "P" 
GROUP BY 
  cscart_discussion.object_id

Query time 0.00127

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 (91084,91085,86902,86927,86963,86988,87024,87049,87085,87107,83569,83571,90580,90581,90851,90853,90930,90932,90585,90919,90998,91011,91012,91013,91023,91024,91025,91035,91036,91037,91048,91049,91050,89491,89492,89499,89500,89507,89508,89515,89516,83254,83256,83261,83263,90562,90563,90568)) 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
83569 D 91607
83571 D 91609
86902 D 94940
86927 D 94965
86963 D 95001
86988 D 95026
87024 D 95062
87049 D 95087
87085 D 95123
87107 D 95145
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
90580 D 98632
90581 D 98633
90585 D 98637
90851 D 98924
90853 D 98926
90919 D 98992
90930 D 99003
90932 D 99005
90998 D 99071
91011 D 99084
91012 D 99085
91013 D 99086
91023 D 99096
91024 D 99097
91025 D 99098
91035 D 99108
91036 D 99109
91037 D 99110
91048 D 99121
91049 D 99122
91050 D 99123
91084 D 99157
91085 D 99158