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 (
    95663, 95664, 95665, 95666, 95667, 95668, 
    95669, 95670, 95671, 95672, 95673, 
    95674, 95675, 95676, 95677, 95678, 
    95679, 95680, 95681, 95682, 95684, 
    95685, 95686, 95687, 95688, 95689, 
    95690, 95691, 95692, 95693, 95694, 
    95695, 95696, 95697, 95698, 95699, 
    95700, 95701, 96189, 96842, 96843, 
    96844, 96845, 96846, 96847, 97713, 
    97714, 97715
  ) 
  AND cscart_discussion.object_type = "P" 
GROUP BY 
  cscart_discussion.object_id

Query time 0.00093

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 (95663,95664,95665,95666,95667,95668,95669,95670,95671,95672,95673,95674,95675,95676,95677,95678,95679,95680,95681,95682,95684,95685,95686,95687,95688,95689,95690,95691,95692,95693,95694,95695,95696,95697,95698,95699,95700,95701,96189,96842,96843,96844,96845,96846,96847,97713,97714,97715)) 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
95663 B 103835
95664 B 103836
95665 B 103837
95666 B 103838
95667 B 103839
95668 B 103840
95669 B 103841
95670 B 103842
95671 B 103843
95672 B 103844
95673 B 103845
95674 B 103846
95675 B 103847
95676 B 103848
95677 B 103849
95678 B 103850
95679 B 103851
95680 B 103852
95681 B 103853
95682 B 103854
95684 B 103856
95685 B 103857
95686 B 103858
95687 B 103859
95688 B 103860
95689 B 103861
95690 B 103862
95691 B 103863
95692 B 103864
95693 B 103865
95694 B 103866
95695 B 103867
95696 B 103868
95697 B 103869
95698 B 103870
95699 B 103871
95700 B 103872
95701 B 103873
96189 B 104361
96842 B 105023
96843 B 105024
96844 B 105025
96845 B 105026
96846 B 105027
96847 B 105028
97713 B 105894
97714 B 105895
97715 B 105896