SELECT 
  q_images.*, 
  q_images_links.*, 
  q_common_descriptions.description AS alt, 
  q_images.image_id AS images_image_id 
FROM 
  q_images_links 
  LEFT JOIN q_images ON q_images_links.image_id = q_images.image_id 
  LEFT JOIN q_common_descriptions ON q_common_descriptions.object_id = q_images.image_id 
  AND q_common_descriptions.object_holder = 'images' 
  AND q_common_descriptions.lang_code = 'en' 
WHERE 
  q_images_links.object_type = 'product' 
  AND q_images_links.type = 'M' 
  AND q_images_links.object_id IN (
    '32881', '32882', '32883', '32884', 
    '32885', '32886', '32887', '32888', 
    '32889', '32890', '32891', '10533', 
    '10532', '10531', '10530', '10529', 
    '10524', '10521', '8380', '8381', 
    '8383', '8384', '8385', '8386', '8387', 
    '8388', '8389', '8390', '8391', '8392', 
    '8393', '8394'
  ) 
ORDER BY 
  q_images_links.position, 
  q_images_links.pair_id

Query time 0.00172

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "204.81"
    },
    "ordering_operation": {
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "36.00"
      },
      "nested_loop": [
        {
          "table": {
            "table_name": "q_images_links",
            "access_type": "range",
            "possible_keys": [
              "object_id"
            ],
            "key": "object_id",
            "used_key_parts": [
              "object_id",
              "object_type",
              "type"
            ],
            "key_length": "81",
            "rows_examined_per_scan": 36,
            "rows_produced_per_join": 36,
            "filtered": "100.00",
            "index_condition": "((`portal`.`q_images_links`.`object_type` = 'product') and (`portal`.`q_images_links`.`type` = 'M') and (`portal`.`q_images_links`.`object_id` in ('32881','32882','32883','32884','32885','32886','32887','32888','32889','32890','32891','10533','10532','10531','10530','10529','10524','10521','8380','8381','8383','8384','8385','8386','8387','8388','8389','8390','8391','8392','8393','8394')))",
            "cost_info": {
              "read_cost": "75.21",
              "eval_cost": "7.20",
              "prefix_cost": "82.41",
              "data_read_per_join": "3K"
            },
            "used_columns": [
              "pair_id",
              "object_id",
              "object_type",
              "image_id",
              "detailed_id",
              "type",
              "position"
            ]
          }
        },
        {
          "table": {
            "table_name": "q_images",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "image_id"
            ],
            "key_length": "4",
            "ref": [
              "portal.q_images_links.image_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 36,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "36.00",
              "eval_cost": "7.20",
              "prefix_cost": "125.61",
              "data_read_per_join": "27K"
            },
            "used_columns": [
              "image_id",
              "image_path",
              "image_x",
              "image_y",
              "is_high_res"
            ]
          }
        },
        {
          "table": {
            "table_name": "q_common_descriptions",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "object_id",
              "lang_code",
              "object_holder"
            ],
            "key_length": "107",
            "ref": [
              "portal.q_images.image_id",
              "const",
              "const"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 36,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "36.00",
              "eval_cost": "7.20",
              "prefix_cost": "168.81",
              "data_read_per_join": "21K"
            },
            "used_columns": [
              "object_id",
              "description",
              "lang_code",
              "object_holder"
            ],
            "attached_condition": "<if>(is_not_null_compl(q_common_descriptions), (`portal`.`q_common_descriptions`.`object_id` = `portal`.`q_images`.`image_id`), true)"
          }
        }
      ]
    }
  }
}

Result

image_id image_path image_x image_y is_high_res pair_id object_id object_type detailed_id type position alt images_image_id
0 17695 8380 product 19657 M 0
0 17699 8387 product 19661 M 0
0 17702 8388 product 19664 M 0
0 17705 8389 product 19667 M 0
0 17708 8390 product 19670 M 0
0 17711 8391 product 19673 M 0
0 17714 8392 product 19676 M 0
0 17717 8393 product 19679 M 0
0 17720 8394 product 19682 M 0
0 17746 8383 product 19708 M 0
0 17749 8384 product 19711 M 0
0 17752 8385 product 19714 M 0
0 18176 8381 product 20138 M 0
0 18730 8386 product 20692 M 0
0 21881 10529 product 23843 M 0
0 21884 10530 product 23846 M 0
0 21896 10533 product 23858 M 0
0 44012 32883 product 45974 M 0
0 44016 32884 product 45978 M 0
0 44020 32885 product 45982 M 0
0 44024 32886 product 45986 M 0
0 44028 32887 product 45990 M 0
0 44032 32888 product 45994 M 0
0 44036 32889 product 45998 M 0
0 45547 32890 product 47509 M 0
0 45552 32891 product 47514 M 0
0 54542 10532 product 56503 M 0
0 58522 10531 product 60478 M 0
0 81066 32881 product 83009 M 0
0 82337 32882 product 84280 M 0
0 85053 10521 product 53618 M 0
0 85057 10524 product 23839 M 0