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 (
    91008, 91019, 91020, 91031, 91032, 91044, 
    91045, 85842, 85843, 84291, 84333, 
    84334, 91004, 91005, 91016, 91017, 
    91028, 91029, 91040, 91041, 91042, 
    86190, 86191, 86213, 86214, 86522, 
    86523, 86798, 86799, 90008, 84667, 
    85821, 84347, 84659, 84660, 88689, 
    88736, 86489, 86765, 86188, 86211, 
    86520, 86796, 82603, 82605, 85079, 
    85165, 85211
  ) 
  AND cscart_discussion.object_type = "P" 
GROUP BY 
  cscart_discussion.object_id

Query time 0.00098

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 (91008,91019,91020,91031,91032,91044,91045,85842,85843,84291,84333,84334,91004,91005,91016,91017,91028,91029,91040,91041,91042,86190,86191,86213,86214,86522,86523,86798,86799,90008,84667,85821,84347,84659,84660,88689,88736,86489,86765,86188,86211,86520,86796,82603,82605,85079,85165,85211)) 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
82603 D 90641
82605 D 90643
84291 D 92329
84333 D 92371
84334 D 92372
84347 D 92385
84659 D 92697
84660 D 92698
84667 D 92705
85079 D 93117
85165 D 93203
85211 D 93249
85821 D 93859
85842 D 93880
85843 D 93881
86188 D 94226
86190 D 94228
86191 D 94229
86211 D 94249
86213 D 94251
86214 D 94252
86489 D 94527
86520 D 94558
86522 D 94560
86523 D 94561
86765 D 94803
86796 D 94834
86798 D 94836
86799 D 94837
88689 D 96727
88736 D 96774
90008 D 98046
91004 D 99077
91005 D 99078
91008 D 99081
91016 D 99089
91017 D 99090
91019 D 99092
91020 D 99093
91028 D 99101
91029 D 99102
91031 D 99104
91032 D 99105
91040 D 99113
91041 D 99114
91042 D 99115
91044 D 99117
91045 D 99118