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 (
    '29778', '29779', '29780', '29781', 
    '29782', '29783', '29784', '29785', 
    '29786', '29787', '29788', '29789', 
    '29790', '29791', '29792', '29793'
  ) 
ORDER BY 
  q_images_links.position, 
  q_images_links.pair_id

Query time 0.00137

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "184.01"
    },
    "ordering_operation": {
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "35.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": 35,
            "rows_produced_per_join": 35,
            "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 ('29778','29779','29780','29781','29782','29783','29784','29785','29786','29787','29788','29789','29790','29791','29792','29793')))",
            "cost_info": {
              "read_cost": "58.01",
              "eval_cost": "7.00",
              "prefix_cost": "65.01",
              "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": 35,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "35.00",
              "eval_cost": "7.00",
              "prefix_cost": "107.01",
              "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": 35,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "35.00",
              "eval_cost": "7.00",
              "prefix_cost": "149.01",
              "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 47342 29793 product 49304 M 0
0 47343 29792 product 49305 M 0
0 47652 29781 product 49613 M 0
0 47653 29780 product 49614 M 0
0 47654 29779 product 49615 M 0
0 47731 29791 product 49692 M 0
0 47733 29790 product 49694 M 0
0 47734 29789 product 49695 M 0
0 47735 29788 product 49696 M 0
0 47737 29786 product 49698 M 0
0 47738 29785 product 49699 M 0
0 47739 29784 product 49700 M 0
0 47740 29783 product 49701 M 0
0 47741 29782 product 49702 M 0
0 47742 29778 product 49703 M 0
0 47811 29787 product 49772 M 0