SELECT 
  discussion.object_id AS product_id, 
  AVG(discussion_rating.rating_value) AS average_rating, 
  discussion.type AS discussion_type, 
  discussion.thread_id AS discussion_thread_id 
FROM 
  discussion 
  LEFT JOIN discussion_posts ON discussion_posts.thread_id = discussion.thread_id 
  AND discussion_posts.status = "A" 
  LEFT JOIN discussion_rating ON discussion.thread_id = discussion_rating.thread_id 
  AND discussion_rating.post_id = discussion_posts.post_id 
  AND discussion_rating.rating_value != 0 
WHERE 
  discussion.object_id IN (
    187599, 79185, 79358, 82647, 82677, 
    82659, 82664, 82650, 79359, 82662, 
    80067, 82658, 189127, 191122, 197476, 
    82675, 83702, 82663, 199702, 188170, 
    187601, 191601, 188620, 201635, 82665, 
    191770, 82674, 210711, 203577, 82670, 
    169289, 153234, 259182, 259310, 269097, 
    247890, 269118, 247892, 269100, 269096, 
    269091, 269090, 247902, 259643, 269113, 
    247897, 258388, 269098, 269093, 269116, 
    259598, 269111, 269107, 269108, 259655, 
    269094, 269095, 204373, 283319, 292893, 
    283328, 284130, 306484, 269110, 306494, 
    269106
  ) 
  AND discussion.object_type = "P" 
GROUP BY 
  discussion.object_id

Query time 0.01618

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "176.84"
    },
    "grouping_operation": {
      "using_filesort": false,
      "nested_loop": [
        {
          "table": {
            "table_name": "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": 66,
            "rows_produced_per_join": 66,
            "filtered": "100.00",
            "index_condition": "((`goimagine`.`discussion`.`object_id` in (187599,79185,79358,82647,82677,82659,82664,82650,79359,82662,80067,82658,189127,191122,197476,82675,83702,82663,199702,188170,187601,191601,188620,201635,82665,191770,82674,210711,203577,82670,169289,153234,259182,259310,269097,247890,269118,247892,269100,269096,269091,269090,247902,259643,269113,247897,258388,269098,269093,269116,259598,269111,269107,269108,259655,269094,269095,204373,283319,292893,283328,284130,306484,269110,306494,269106)) and (`goimagine`.`discussion`.`object_type` = 'P'))",
            "cost_info": {
              "read_cost": "101.52",
              "eval_cost": "6.60",
              "prefix_cost": "108.12",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "thread_id",
              "object_id",
              "object_type",
              "type"
            ]
          }
        },
        {
          "table": {
            "table_name": "discussion_posts",
            "access_type": "ref",
            "possible_keys": [
              "thread_id",
              "thread_id_2"
            ],
            "key": "thread_id_2",
            "used_key_parts": [
              "thread_id",
              "status"
            ],
            "key_length": "6",
            "ref": [
              "goimagine.discussion.thread_id",
              "const"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 116,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "16.51",
              "eval_cost": "11.60",
              "prefix_cost": "136.23",
              "data_read_per_join": "50K"
            },
            "used_columns": [
              "post_id",
              "thread_id",
              "status"
            ]
          }
        },
        {
          "table": {
            "table_name": "discussion_rating",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY",
              "thread_id"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "post_id"
            ],
            "key_length": "3",
            "ref": [
              "goimagine.discussion_posts.post_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 116,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "29.00",
              "eval_cost": "11.60",
              "prefix_cost": "176.84",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "rating_value",
              "post_id",
              "thread_id"
            ],
            "attached_condition": "<if>(is_not_null_compl(discussion_rating), ((`goimagine`.`discussion_rating`.`thread_id` = `goimagine`.`discussion`.`thread_id`) and (`goimagine`.`discussion_rating`.`rating_value` <> 0)), true)"
          }
        }
      ]
    }
  }
}

Result

product_id average_rating discussion_type discussion_thread_id
79185 D 493578
79358 D 493776
79359 D 493777
80067 D 498649
82647 D 519779
82650 D 519782
82658 D 519790
82659 D 519791
82662 D 519795
82663 D 519796
82664 D 519797
82665 D 519798
82670 D 519803
82674 D 519807
82675 D 519808
82677 D 519810
83702 D 527346
153234 D 1022583
169289 D 1158872
187599 D 1391529
187601 D 1391531
188170 D 1414635
188620 D 1415111
189127 D 1415644
191122 D 1417701
191601 D 1463971
191770 D 1464151
197476 D 1481898
199702 D 1508169
201635 D 1522268
203577 D 1573035
204373 D 1579996
210711 D 1593011
258388 D 3125177
259182 D 3133884
259310 D 3134053
259598 D 3134364
259643 D 3134432
259655 D 3134446
269090 D 3413533
269091 D 3413534
269093 D 3413536
269094 D 3413537
269095 D 3413538
269096 D 3413539
269097 D 3413540
269098 D 3413541
269100 D 3413543
269106 D 3413549
269107 D 3413550
269108 D 3413551
269110 D 3413553
269111 D 3413554
269113 D 3413556
269116 D 3413559
269118 D 3413561
283319 D 3561488
283328 D 3561499
284130 D 3562341
292893 D 3919379
306484 D 4050343
306494 D 4050353