SELECT 
  cscart_discussion_posts.*, 
  cscart_discussion_messages.message, 
  cscart_discussion_rating.rating_value 
FROM 
  cscart_discussion_posts 
  LEFT JOIN cscart_discussion_messages ON cscart_discussion_messages.post_id = cscart_discussion_posts.post_id 
  LEFT JOIN cscart_discussion_rating ON cscart_discussion_rating.post_id = cscart_discussion_posts.post_id 
WHERE 
  cscart_discussion_posts.thread_id IN (17346) 
  AND cscart_discussion_posts.status = 'A' 
ORDER BY 
  cscart_discussion_posts.timestamp DESC 
LIMIT 
  0, 10

Query time 0.00046

JSON explain

{
  "query_block": {
    "select_id": 1,
    "read_sorted_file": {
      "filesort": {
        "sort_key": "cscart_discussion_posts.`timestamp` desc",
        "table": {
          "table_name": "cscart_discussion_posts",
          "access_type": "ref",
          "possible_keys": ["thread_id", "thread_id_2"],
          "key": "thread_id_2",
          "key_length": "6",
          "used_key_parts": ["thread_id", "status"],
          "ref": ["const", "const"],
          "rows": 1,
          "filtered": 100,
          "index_condition": "cscart_discussion_posts.`status` = 'A'",
          "attached_condition": "cscart_discussion_posts.thread_id <=> 17346 and cscart_discussion_posts.`status` <=> 'A'"
        }
      }
    },
    "table": {
      "table_name": "cscart_discussion_messages",
      "access_type": "eq_ref",
      "possible_keys": ["PRIMARY"],
      "key": "PRIMARY",
      "key_length": "3",
      "used_key_parts": ["post_id"],
      "ref": ["cscart_migrate.cscart_discussion_posts.post_id"],
      "rows": 1,
      "filtered": 100
    },
    "table": {
      "table_name": "cscart_discussion_rating",
      "access_type": "eq_ref",
      "possible_keys": ["PRIMARY"],
      "key": "PRIMARY",
      "key_length": "3",
      "used_key_parts": ["post_id"],
      "ref": ["cscart_migrate.cscart_discussion_posts.post_id"],
      "rows": 1,
      "filtered": 100
    }
  }
}

Result

post_id thread_id name timestamp user_id ip_address status email message rating_value
120489 17346 Tom Wettlaufer 1474162080 0 142.196.199.122 A The decorative cover for the backing plate is complementary to look of the entire fixture. It creates a smooth, flowing line that blends in with either the gooseneck or the straight arm and fixture shade. The decorative cover 'finishes' the installation by covering the mounting mechanics of the backing plate and arm. Since it was ordered in the same finish as the fixture, all the pieces just 'go together' for a tidy, seamless, pleasant look. 5