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 (
    '3715', '3716', '3717', '3718', '3719', 
    '3720', '3721', '3722', '3723', '3724', 
    '3725', '3726', '3727', '3728', '3729', 
    '3730', '3731', '3732', '3733', '3734', 
    '3735', '3737', '3738', '3740', '3741', 
    '3742', '3743', '3747', '3748', '3749'
  ) 
ORDER BY 
  q_images_links.position, 
  q_images_links.pair_id

Query time 0.00165

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "174.01"
    },
    "ordering_operation": {
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "30.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": 30,
            "rows_produced_per_join": 30,
            "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 ('3715','3716','3717','3718','3719','3720','3721','3722','3723','3724','3725','3726','3727','3728','3729','3730','3731','3732','3733','3734','3735','3737','3738','3740','3741','3742','3743','3747','3748','3749')))",
            "cost_info": {
              "read_cost": "66.01",
              "eval_cost": "6.00",
              "prefix_cost": "72.01",
              "data_read_per_join": "2K"
            },
            "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": 30,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "30.00",
              "eval_cost": "6.00",
              "prefix_cost": "108.01",
              "data_read_per_join": "22K"
            },
            "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": 30,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "30.00",
              "eval_cost": "6.00",
              "prefix_cost": "144.01",
              "data_read_per_join": "17K"
            },
            "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 8911 3715 product 10876 M 0
0 8912 3716 product 10877 M 0
0 8913 3717 product 10878 M 0
0 8914 3718 product 10879 M 0
0 8915 3719 product 10880 M 0
0 8916 3720 product 10881 M 0
0 8917 3721 product 10882 M 0
0 8918 3722 product 10883 M 0
0 8919 3723 product 10884 M 0
0 8920 3724 product 10885 M 0
0 8921 3725 product 10886 M 0
0 8922 3726 product 10887 M 0
0 8923 3727 product 10888 M 0
0 8924 3728 product 10889 M 0
0 8925 3729 product 10890 M 0
0 8926 3730 product 10891 M 0
0 8927 3731 product 10892 M 0
0 8928 3732 product 10893 M 0
0 8929 3733 product 10894 M 0
0 8930 3734 product 10895 M 0
0 8931 3735 product 10896 M 0
0 8933 3737 product 10898 M 0
0 8934 3738 product 10899 M 0
0 8936 3740 product 10901 M 0
0 8937 3742 product 10902 M 0
0 8938 3743 product 10903 M 0
0 8941 3747 product 10906 M 0
0 8942 3748 product 10907 M 0
0 8943 3749 product 10908 M 0
0 76149 3741 product 78092 M 0