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 (
    '32849', '32850', '32851', '32852', 
    '32853', '32854', '32855', '32856', 
    '32857', '32858', '32859', '32860', 
    '32861', '32862', '32863', '32864', 
    '32865', '32866', '32867', '32868', 
    '32869', '32870', '32871', '32872', 
    '32873', '32874', '32875', '32876', 
    '32877', '32878', '32879', '32880'
  ) 
ORDER BY 
  q_images_links.position, 
  q_images_links.pair_id

Query time 0.00372

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "195.21"
    },
    "ordering_operation": {
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "34.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": 34,
            "rows_produced_per_join": 34,
            "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 ('32849','32850','32851','32852','32853','32854','32855','32856','32857','32858','32859','32860','32861','32862','32863','32864','32865','32866','32867','32868','32869','32870','32871','32872','32873','32874','32875','32876','32877','32878','32879','32880')))",
            "cost_info": {
              "read_cost": "72.81",
              "eval_cost": "6.80",
              "prefix_cost": "79.61",
              "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": 34,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "34.00",
              "eval_cost": "6.80",
              "prefix_cost": "120.41",
              "data_read_per_join": "26K"
            },
            "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": 34,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "34.00",
              "eval_cost": "6.80",
              "prefix_cost": "161.21",
              "data_read_per_join": "20K"
            },
            "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 43883 32849 product 45845 M 0
0 43887 32850 product 45849 M 0
0 43891 32851 product 45853 M 0
0 43895 32852 product 45857 M 0
0 43899 32853 product 45861 M 0
0 43902 32854 product 45864 M 0
0 43905 32855 product 45867 M 0
0 43908 32856 product 45870 M 0
0 43911 32857 product 45873 M 0
0 43914 32858 product 45876 M 0
0 43917 32859 product 45879 M 0
0 43920 32860 product 45882 M 0
0 43924 32861 product 45886 M 0
0 43928 32862 product 45890 M 0
0 43932 32863 product 45894 M 0
0 43936 32864 product 45898 M 0
0 43940 32865 product 45902 M 0
0 43944 32866 product 45906 M 0
0 43948 32867 product 45910 M 0
0 43952 32868 product 45914 M 0
0 43956 32869 product 45918 M 0
0 43960 32870 product 45922 M 0
0 43964 32871 product 45926 M 0
0 43968 32872 product 45930 M 0
0 43972 32873 product 45934 M 0
0 43976 32874 product 45938 M 0
0 43980 32875 product 45942 M 0
0 43988 32877 product 45950 M 0
0 43996 32879 product 45958 M 0
0 44000 32880 product 45962 M 0
0 68213 32876 product 70164 M 0
0 82374 32878 product 84317 M 0