SELECT 
  SQL_CALC_FOUND_ROWS products.product_id, 
  IF(
    shared_descr.product_id IS NOT NULL, 
    shared_descr.product, descr1.product
  ) as product 
FROM 
  cscart_products as products 
  LEFT JOIN cscart_product_descriptions as descr1 ON descr1.product_id = products.product_id 
  AND descr1.lang_code = 'ru' 
  LEFT JOIN cscart_product_prices as prices ON prices.product_id = products.product_id 
  AND prices.lower_limit = 1 
  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') 
  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 = 'ru' 
  LEFT JOIN cscart_product_popularity as popularity ON popularity.product_id = products.product_id 
WHERE 
  1 
  AND cscart_categories.category_id IN (321) 
  AND cscart_categories.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 IN ('A') 
  AND prices.usergroup_id IN (0, 0, 1) 
GROUP BY 
  products.product_id 
ORDER BY 
  popularity.total desc, 
  products.product_id ASC 
LIMIT 
  12, 12

Query time 0.00131

JSON explain

{
  "query_block": {
    "select_id": 1,
    "filesort": {
      "sort_key": "popularity.total desc, products.product_id",
      "temporary_table": {
        "table": {
          "table_name": "shared_descr",
          "access_type": "system",
          "possible_keys": ["PRIMARY", "product_id", "company_id"],
          "rows": 0,
          "filtered": 0,
          "const_row_not_found": true
        },
        "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": 43,
          "filtered": 100,
          "attached_condition": "products_categories.category_id <=> 321",
          "using_index": true
        },
        "table": {
          "table_name": "products",
          "access_type": "eq_ref",
          "possible_keys": ["PRIMARY", "status"],
          "key": "PRIMARY",
          "key_length": "3",
          "used_key_parts": ["product_id"],
          "ref": ["noframes_kz_new.products_categories.product_id"],
          "rows": 1,
          "filtered": 90.03496552,
          "attached_condition": "(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": "popularity",
          "access_type": "eq_ref",
          "possible_keys": ["PRIMARY", "total"],
          "key": "PRIMARY",
          "key_length": "3",
          "used_key_parts": ["product_id"],
          "ref": ["noframes_kz_new.products_categories.product_id"],
          "rows": 1,
          "filtered": 100
        },
        "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": ["noframes_kz_new.products_categories.product_id", "const"],
          "rows": 1,
          "filtered": 100,
          "attached_condition": "trigcond(descr1.lang_code = 'ru')"
        },
        "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": ["noframes_kz_new.products_categories.product_id"],
          "rows": 17,
          "filtered": 99.70883179,
          "attached_condition": "prices.lower_limit = 1 and prices.usergroup_id in (0,0,1)",
          "using_index": true
        }
      }
    }
  }
}

Result

product_id product
2404 Турецкий ковер WAVE 160x230
2405 Турецкий ковер ZEBRA BONE/BONE 160x230
1545 Бельгийский ковер FLORENSE 160x230
352 Бельгийский ковер FRESCO 160x230
2092 Бельгийский ковер DJOTTO 160x230
2400 Турецкий ковер PENTHOUSE SHR/PAPATYA 160x230
366 Бельгийский ковер BAUHAUS 160х230
356 Бельгийский ковер MIRROR 160x230
362 Бельгийский ковер ORIGAMI 160х230
369 Бельгийский ковер SPECTRUM 160х230
2351 Турецкий ковер DONNA SATIN SILVER 160x230
2390 Турецкий ковер BOTANICA BONE/BONE 160x230