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 (
    '3672', '3673', '3674', '3676', '3677', 
    '3678', '3679', '3680', '3681', '3682', 
    '3683', '3684', '3685', '3686', '3687', 
    '3688', '3689', '3690', '3691', '3692', 
    '3693', '3694', '3695', '3696', '3697', 
    '3698', '3699', '3700', '3701', '3702'
  ) 
ORDER BY 
  q_images_links.position, 
  q_images_links.pair_id

Query time 0.00157

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 ('3672','3673','3674','3676','3677','3678','3679','3680','3681','3682','3683','3684','3685','3686','3687','3688','3689','3690','3691','3692','3693','3694','3695','3696','3697','3698','3699','3700','3701','3702')))",
            "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 8868 3672 product 10833 M 0
0 8869 3673 product 10834 M 0
0 8870 3674 product 10835 M 0
0 8872 3676 product 10837 M 0
0 8873 3677 product 10838 M 0
0 8874 3678 product 10839 M 0
0 8875 3679 product 10840 M 0
0 8876 3680 product 10841 M 0
0 8877 3681 product 10842 M 0
0 8878 3682 product 10843 M 0
0 8879 3683 product 10844 M 0
0 8880 3684 product 10845 M 0
0 8881 3685 product 10846 M 0
0 8882 3686 product 10847 M 0
0 8883 3687 product 10848 M 0
0 8884 3688 product 10849 M 0
0 8885 3689 product 10850 M 0
0 8886 3690 product 10851 M 0
0 8887 3691 product 10852 M 0
0 8888 3692 product 10853 M 0
0 8889 3693 product 10854 M 0
0 8890 3694 product 10855 M 0
0 8891 3695 product 10856 M 0
0 8892 3696 product 10857 M 0
0 8893 3697 product 10858 M 0
0 8894 3698 product 10859 M 0
0 8895 3699 product 10860 M 0
0 8896 3700 product 10861 M 0
0 8897 3701 product 10862 M 0
0 8898 3702 product 10863 M 0