SELECT 
  SQL_CALC_FOUND_ROWS products.product_id, 
  IF(
    shared_descr.product_id IS NOT NULL, 
    shared_descr.product, descr1.product
  ) as product, 
  companies.company as company_name, 
  cscart_categories.position AS category_position, 
  products_categories.category_id 
FROM 
  cscart_products as products 
  LEFT JOIN cscart_product_features_values as var_val_18 ON var_val_18.product_id = products.product_id 
  AND var_val_18.lang_code = 'en' 
  AND var_val_18.feature_id = 18 
  LEFT JOIN cscart_product_descriptions as descr1 ON descr1.product_id = products.product_id 
  AND descr1.lang_code = 'en' 
  LEFT JOIN cscart_product_prices as prices ON prices.product_id = products.product_id 
  AND prices.lower_limit = 1 
  LEFT JOIN cscart_companies AS companies ON companies.company_id = products.company_id 
  INNER JOIN cscart_products_categories as products_categories ON products_categories.product_id = products.product_id 
  INNER JOIN cscart_categories ON cscart_categories.category_id = products_categories.category_id 
  AND (
    cscart_categories.usergroup_ids = '' 
    OR FIND_IN_SET(
      0, cscart_categories.usergroup_ids
    ) 
    OR FIND_IN_SET(
      1, cscart_categories.usergroup_ids
    )
  ) 
  AND cscart_categories.status IN ('A', 'H') 
  AND cscart_categories.storefront_id IN (0, 1) 
  LEFT JOIN cscart_ult_product_descriptions shared_descr ON shared_descr.product_id = products.product_id 
  AND shared_descr.company_id = 1 
  AND shared_descr.lang_code = 'en' 
WHERE 
  1 
  AND (
    var_val_18.variant_id IN (136)
  ) 
  AND cscart_categories.category_id IN (260) 
  AND companies.status IN ('A') 
  AND (
    products.usergroup_ids = '' 
    OR FIND_IN_SET(0, products.usergroup_ids) 
    OR FIND_IN_SET(1, products.usergroup_ids)
  ) 
  AND products.status IN ('A') 
  AND prices.usergroup_id IN (0, 0, 1) 
GROUP BY 
  products.product_id 
ORDER BY 
  category_position ASC, 
  category_id, 
  products_categories.position asc, 
  products.product_id ASC 
LIMIT 
  0, 50

Query time 0.00114

JSON explain

{
  "query_block": {
    "select_id": 1,
    "filesort": {
      "sort_key": "products_categories.position, products.product_id",
      "temporary_table": {
        "table": {
          "table_name": "companies",
          "access_type": "system",
          "possible_keys": ["PRIMARY"],
          "rows": 1,
          "filtered": 100
        },
        "table": {
          "table_name": "cscart_categories",
          "access_type": "const",
          "possible_keys": ["PRIMARY", "c_status", "p_category_id"],
          "key": "PRIMARY",
          "key_length": "3",
          "used_key_parts": ["category_id"],
          "ref": ["const"],
          "rows": 1,
          "filtered": 100
        },
        "table": {
          "table_name": "products_categories",
          "access_type": "ref",
          "possible_keys": ["PRIMARY", "pt"],
          "key": "PRIMARY",
          "key_length": "3",
          "used_key_parts": ["category_id"],
          "ref": ["const"],
          "rows": 13,
          "filtered": 100,
          "attached_condition": "products_categories.category_id <=> 260"
        },
        "table": {
          "table_name": "products",
          "access_type": "eq_ref",
          "possible_keys": ["PRIMARY", "status"],
          "key": "PRIMARY",
          "key_length": "3",
          "used_key_parts": ["product_id"],
          "ref": ["markins_test.products_categories.product_id"],
          "rows": 1,
          "filtered": 60.5678215,
          "attached_condition": "products.company_id = 1 and (products.usergroup_ids = '' or find_in_set(0,products.usergroup_ids) or find_in_set(1,products.usergroup_ids)) and products.`status` = 'A'"
        },
        "table": {
          "table_name": "shared_descr",
          "access_type": "eq_ref",
          "possible_keys": ["PRIMARY", "product_id", "company_id"],
          "key": "PRIMARY",
          "key_length": "13",
          "used_key_parts": ["product_id", "lang_code", "company_id"],
          "ref": ["markins_test.products_categories.product_id", "const", "const"],
          "rows": 1,
          "filtered": 100,
          "attached_condition": "trigcond(shared_descr.lang_code = 'en')"
        },
        "table": {
          "table_name": "var_val_18",
          "access_type": "eq_ref",
          "possible_keys": [
            "PRIMARY",
            "fl",
            "variant_id",
            "lang_code",
            "product_id",
            "fpl",
            "idx_product_feature_variant_id"
          ],
          "key": "PRIMARY",
          "key_length": "15",
          "used_key_parts": ["feature_id", "product_id", "variant_id", "lang_code"],
          "ref": [
            "const",
            "markins_test.products_categories.product_id",
            "const",
            "const"
          ],
          "rows": 1,
          "filtered": 95.54895782,
          "attached_condition": "var_val_18.lang_code = 'en'",
          "using_index": true
        },
        "table": {
          "table_name": "descr1",
          "access_type": "eq_ref",
          "possible_keys": ["PRIMARY", "product_id"],
          "key": "PRIMARY",
          "key_length": "9",
          "used_key_parts": ["product_id", "lang_code"],
          "ref": ["markins_test.products_categories.product_id", "const"],
          "rows": 1,
          "filtered": 100,
          "attached_condition": "trigcond(descr1.lang_code = 'en')"
        },
        "table": {
          "table_name": "prices",
          "access_type": "ref",
          "possible_keys": [
            "usergroup",
            "product_id",
            "lower_limit",
            "usergroup_id"
          ],
          "key": "usergroup",
          "key_length": "3",
          "used_key_parts": ["product_id"],
          "ref": ["markins_test.products_categories.product_id"],
          "rows": 2,
          "filtered": 56.08769226,
          "attached_condition": "prices.lower_limit = 1 and prices.usergroup_id in (0,0,1)",
          "using_index": true
        }
      }
    }
  }
}

Result

product_id product company_name category_position category_id
352 Bush Adapter Trinple 100 260
354 Plate Bolt Trinple 100 260
356 Minus Plate Bolt Trinple 100 260
357 M6 Bolt Trinple 100 260
353 Center Bolt Trinple 100 260
358 Main Knob Rubber for Q10-20 Trinple 100 260
359 Main Knob Rubber for Q3 Trinple 100 260