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.detailed_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 (
    '30223', '30224', '30225', '30226', 
    '30227', '30228', '30229', '30230', 
    '30231', '30232', '30233', '30234', 
    '30235', '30236', '30237', '30238'
  ) 
ORDER BY 
  q_images_links.position, 
  q_images_links.pair_id

Query time 0.00122

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "188.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 ('30223','30224','30225','30226','30227','30228','30229','30230','30231','30232','30233','30234','30235','30236','30237','30238')))",
            "cost_info": {
              "read_cost": "59.21",
              "eval_cost": "7.20",
              "prefix_cost": "66.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.detailed_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": "109.61",
              "data_read_per_join": "27K"
            },
            "used_columns": [
              "image_id",
              "image_path",
              "image_x",
              "image_y",
              "is_high_res"
            ],
            "attached_condition": "<if>(is_not_null_compl(q_images), (`portal`.`q_images_links`.`detailed_id` = `portal`.`q_images`.`image_id`), true)"
          }
        },
        {
          "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": "152.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 61m304NWgFL._SY445_.jpg 334 445 N 49089 30238 product 51050 M 0 51050
0 71z0eGywZ0L._SY445__p8s9-oh.jpg 334 445 N 49090 30237 product 51051 M 0 51051
0 61DsJBL2n7L._SY445_.jpg 334 445 N 49091 30236 product 51052 M 0 51052
0 71losHyl25L._SX385_.jpg 385 385 N 49093 30235 product 51054 M 0 51054
0 61Dnb1Qw8IL._SY445_.jpg 334 445 N 49094 30234 product 51055 M 0 51055
0 61Ic4w0pIML._SL1000_.jpg 1000 1000 N 49095 30233 product 51056 M 0 51056
0 61m304NWgFL._SY445__vnbp-so.jpg 334 445 N 49096 30232 product 51057 M 0 51057
0 61bIzqrGmHL._SY445_.jpg 297 445 N 49097 30231 product 51058 M 0 51058
0 71utrZLwftL._SX385_.jpg 385 385 N 49099 30230 product 51060 M 0 51060
0 71tf7v5sqeL._SX385_.jpg 385 385 N 49101 30229 product 51062 M 0 51062
0 616k1Fz_vJL._SY445_.jpg 334 445 N 49103 30228 product 51064 M 0 51064
0 61_0nnnEs7L._SY445_.jpg 334 445 N 49104 30227 product 51065 M 0 51065
0 71z0eGywZ0L._SY445__zc6b-j9.jpg 334 445 N 49105 30226 product 51066 M 0 51066
0 815SJScmpAL._SY445__8wnx-we.jpg 297 445 N 49107 30225 product 51068 M 0 51068
0 41GAb0hxi4L._SX342_.jpg 342 342 N 49108 30224 product 51069 M 0 51069
0 71bYIm1zJgL._SX385_.jpg 385 385 N 49109 30223 product 51070 M 0 51070