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 (
    '29195', '29201', '29203', '29211', 
    '29212', '29213', '29215', '29216', 
    '29223', '29225', '29227', '29230', 
    '29233', '29237', '29239', '29242', 
    '29243', '29244', '29251', '29252', 
    '29257', '29258', '29260', '29270', 
    '29275', '29284', '29286', '29288', 
    '29289', '29290'
  ) 
ORDER BY 
  q_images_links.position, 
  q_images_links.pair_id

Query time 0.00130

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "414.01"
    },
    "ordering_operation": {
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "80.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": 80,
            "rows_produced_per_join": 80,
            "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 ('29195','29201','29203','29211','29212','29213','29215','29216','29223','29225','29227','29230','29233','29237','29239','29242','29243','29244','29251','29252','29257','29258','29260','29270','29275','29284','29286','29288','29289','29290')))",
            "cost_info": {
              "read_cost": "126.01",
              "eval_cost": "16.00",
              "prefix_cost": "142.01",
              "data_read_per_join": "7K"
            },
            "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": 80,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "80.00",
              "eval_cost": "16.00",
              "prefix_cost": "238.01",
              "data_read_per_join": "61K"
            },
            "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": 80,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "80.00",
              "eval_cost": "16.00",
              "prefix_cost": "334.01",
              "data_read_per_join": "47K"
            },
            "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 42128 29243 product 44090 M 0
0 42129 29242 product 44091 M 0
0 42135 29239 product 44097 M 0
0 42138 29237 product 44100 M 0
0 42148 29233 product 44110 M 0
0 42152 29230 product 44114 M 0
0 42154 29227 product 44116 M 0
0 42157 29225 product 44119 M 0
0 42161 29223 product 44123 M 0
0 42174 29216 product 44136 M 0
0 42176 29215 product 44138 M 0
0 42201 29203 product 44163 M 0
0 42206 29201 product 44168 M 0
0 42227 29195 product 44189 M 0
0 42318 29260 product 44280 M 0
0 42344 29258 product 44306 M 0
0 42366 29257 product 44328 M 0
0 42416 29252 product 44378 M 0
0 42436 29251 product 44398 M 0
0 42537 29244 product 44499 M 0
0 44402 29290 product 46364 M 0
0 44410 29289 product 46372 M 0
0 44420 29288 product 46382 M 0
0 44434 29286 product 46396 M 0
0 44456 29284 product 46418 M 0
0 44555 29275 product 46517 M 0
0 44634 29270 product 46596 M 0
0 82097 29212 product 84040 M 0
0 82848 29213 product 84791 M 0
0 42188 29211 product 44150 M 1