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, 
  products.product_type, 
  products.parent_product_id 
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 
  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 = 'ru' 
  LEFT JOIN cscart_product_popularity as popularity ON popularity.product_id = products.product_id 
WHERE 
  1 
  AND cscart_categories.category_id IN (
    1320, 554, 658, 1068, 1428, 1321, 1322, 
    1327, 1333, 1342, 1403, 555, 665, 1069, 
    1323, 1326, 1328, 1334, 1343, 666, 1070, 
    1324, 1329, 1332, 1335, 1344, 667, 796, 
    1071, 1325, 1330, 1336, 1345, 668, 1331, 
    1337, 1346, 669, 1338, 1482, 671, 1339, 
    1348, 672, 1340, 673, 674, 675, 1429, 
    676, 677, 678, 985, 1095, 1350, 1351, 
    657, 1341, 1347, 1378, 1402, 333, 1349, 
    1446
  ) 
  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) 
  AND products.parent_product_id = 0 
GROUP BY 
  products.product_id 
ORDER BY 
  popularity.total desc, 
  products.product_id ASC 
LIMIT 
  7488, 24

Query time 0.20796

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "927.12"
    },
    "ordering_operation": {
      "using_filesort": true,
      "grouping_operation": {
        "using_temporary_table": true,
        "using_filesort": false,
        "nested_loop": [
          {
            "table": {
              "table_name": "companies",
              "access_type": "system",
              "possible_keys": [
                "PRIMARY",
                "status"
              ],
              "rows_examined_per_scan": 1,
              "rows_produced_per_join": 1,
              "filtered": "100.00",
              "cost_info": {
                "read_cost": "0.00",
                "eval_cost": "0.10",
                "prefix_cost": "0.00",
                "data_read_per_join": "5K"
              },
              "used_columns": [
                "company_id",
                "status",
                "company"
              ]
            }
          },
          {
            "table": {
              "table_name": "shared_descr",
              "access_type": "system",
              "possible_keys": [
                "PRIMARY",
                "product_id",
                "company_id"
              ],
              "rows_examined_per_scan": 0,
              "rows_produced_per_join": 1,
              "filtered": "0.00",
              "const_row_not_found": true,
              "cost_info": {
                "read_cost": "0.00",
                "eval_cost": "0.10",
                "prefix_cost": "0.00",
                "data_read_per_join": "3K"
              },
              "used_columns": [
                "product_id",
                "lang_code",
                "company_id",
                "product"
              ]
            }
          },
          {
            "table": {
              "table_name": "cscart_categories",
              "access_type": "range",
              "possible_keys": [
                "PRIMARY",
                "c_status",
                "p_category_id",
                "storefront_id"
              ],
              "key": "PRIMARY",
              "used_key_parts": [
                "category_id"
              ],
              "key_length": "3",
              "rows_examined_per_scan": 64,
              "rows_produced_per_join": 12,
              "filtered": "19.97",
              "index_condition": "(`unicomps`.`cscart_categories`.`category_id` in (1320,554,658,1068,1428,1321,1322,1327,1333,1342,1403,555,665,1069,1323,1326,1328,1334,1343,666,1070,1324,1329,1332,1335,1344,667,796,1071,1325,1330,1336,1345,668,1331,1337,1346,669,1338,1482,671,1339,1348,672,1340,673,674,675,1429,676,677,678,985,1095,1350,1351,657,1341,1347,1378,1402,333,1349,1446))",
              "cost_info": {
                "read_cost": "43.53",
                "eval_cost": "1.28",
                "prefix_cost": "44.81",
                "data_read_per_join": "52K"
              },
              "used_columns": [
                "category_id",
                "storefront_id",
                "usergroup_ids",
                "status"
              ],
              "attached_condition": "(((`unicomps`.`cscart_categories`.`usergroup_ids` = '') or (0 <> find_in_set(0,`unicomps`.`cscart_categories`.`usergroup_ids`)) or (0 <> find_in_set(1,`unicomps`.`cscart_categories`.`usergroup_ids`))) and (`unicomps`.`cscart_categories`.`status` in ('A','H')) and (`unicomps`.`cscart_categories`.`storefront_id` in (0,1)))"
            }
          },
          {
            "table": {
              "table_name": "products_categories",
              "access_type": "ref",
              "possible_keys": [
                "PRIMARY",
                "pt"
              ],
              "key": "PRIMARY",
              "used_key_parts": [
                "category_id"
              ],
              "key_length": "3",
              "ref": [
                "unicomps.cscart_categories.category_id"
              ],
              "rows_examined_per_scan": 274,
              "rows_produced_per_join": 3509,
              "filtered": "100.00",
              "using_index": true,
              "cost_info": {
                "read_cost": "7.18",
                "eval_cost": "350.94",
                "prefix_cost": "402.93",
                "data_read_per_join": "54K"
              },
              "used_columns": [
                "product_id",
                "category_id"
              ]
            }
          },
          {
            "table": {
              "table_name": "products",
              "access_type": "eq_ref",
              "possible_keys": [
                "PRIMARY",
                "age_verification",
                "status",
                "idx_parent_product_id",
                "usergroup_ids",
                "timestamp",
                "company_id",
                "updated_timestamp"
              ],
              "key": "PRIMARY",
              "used_key_parts": [
                "product_id"
              ],
              "key_length": "3",
              "ref": [
                "unicomps.products_categories.product_id"
              ],
              "rows_examined_per_scan": 1,
              "rows_produced_per_join": 314,
              "filtered": "8.98",
              "cost_info": {
                "read_cost": "0.00",
                "eval_cost": "31.50",
                "prefix_cost": "753.87",
                "data_read_per_join": "2M"
              },
              "used_columns": [
                "product_id",
                "product_type",
                "status",
                "company_id",
                "usergroup_ids",
                "parent_product_id"
              ],
              "attached_condition": "((`unicomps`.`products`.`company_id` = '1') and (`unicomps`.`products`.`parent_product_id` = 0) and ((`unicomps`.`products`.`usergroup_ids` = '') or (0 <> find_in_set(0,`unicomps`.`products`.`usergroup_ids`)) or (0 <> find_in_set(1,`unicomps`.`products`.`usergroup_ids`))) and (`unicomps`.`products`.`status` = 'A'))"
            }
          },
          {
            "table": {
              "table_name": "popularity",
              "access_type": "eq_ref",
              "possible_keys": [
                "PRIMARY",
                "total"
              ],
              "key": "PRIMARY",
              "used_key_parts": [
                "product_id"
              ],
              "key_length": "3",
              "ref": [
                "unicomps.products_categories.product_id"
              ],
              "rows_examined_per_scan": 1,
              "rows_produced_per_join": 314,
              "filtered": "100.00",
              "cost_info": {
                "read_cost": "0.00",
                "eval_cost": "31.50",
                "prefix_cost": "785.37",
                "data_read_per_join": "9K"
              },
              "used_columns": [
                "product_id",
                "total"
              ]
            }
          },
          {
            "table": {
              "table_name": "descr1",
              "access_type": "eq_ref",
              "possible_keys": [
                "PRIMARY",
                "product_id"
              ],
              "key": "PRIMARY",
              "used_key_parts": [
                "product_id",
                "lang_code"
              ],
              "key_length": "9",
              "ref": [
                "unicomps.products_categories.product_id",
                "const"
              ],
              "rows_examined_per_scan": 1,
              "rows_produced_per_join": 314,
              "filtered": "100.00",
              "cost_info": {
                "read_cost": "0.00",
                "eval_cost": "31.50",
                "prefix_cost": "816.87",
                "data_read_per_join": "1M"
              },
              "used_columns": [
                "product_id",
                "lang_code",
                "product"
              ]
            }
          },
          {
            "table": {
              "table_name": "prices",
              "access_type": "ref",
              "possible_keys": [
                "usergroup",
                "product_id",
                "lower_limit",
                "usergroup_id"
              ],
              "key": "usergroup",
              "used_key_parts": [
                "product_id"
              ],
              "key_length": "3",
              "ref": [
                "unicomps.products_categories.product_id"
              ],
              "rows_examined_per_scan": 1,
              "rows_produced_per_join": 78,
              "filtered": "25.00",
              "using_index": true,
              "cost_info": {
                "read_cost": "78.75",
                "eval_cost": "7.87",
                "prefix_cost": "927.12",
                "data_read_per_join": "2K"
              },
              "used_columns": [
                "product_id",
                "lower_limit",
                "usergroup_id"
              ],
              "attached_condition": "((`unicomps`.`prices`.`lower_limit` = 1) and (`unicomps`.`prices`.`usergroup_id` in (0,0,1)))"
            }
          }
        ]
      }
    }
  }
}

Result

product_id product company_name product_type parent_product_id
317497 Картридж CACTUS лазерный W2301A голубой (1800стр.) для HP CLJ Pro 4203cdn/4203dn/4203dw/4303dw/4303fdn/4303fdw (CS-W2301A) unicomps P 0
317517 Картридж CACTUS лазерный THM130 черный (3000стр.) для Катюша P130/M130 (CS-THM130) unicomps P 0
321999 Tонер-картридж OKI голубой (6K) C532/C542/MC573, 46490631 (46490607) unicomps P 0
323909 Фотобарабан XEROX VersaLink C7000, 82200 отпечатков (113R00782) unicomps P 0
21545 Фотобумага LOMOND XL Premium Satin Photo Paper, ролик 610мм*50,8 мм, 270 г/м2, 30 метров. (1201071) unicomps P 0
18228 Плата форматирования HP (для моделей с факсом) LJ M1522nf MFP (/CC368-69002) (CC368-60001) unicomps P 0
163607 Картридж BION лазерный, CE412A для HP CLJ Pro300/Color M351/Pro400 Color/M451, Yellow, 2600 стр. (BionCE412A) unicomps P 0
163893 Картридж T2 CN045AE/№950XL №950XL для HP Officejet Pro 8100/8600/8600 Plus/251dw/276dw, черный, 2500 стр. (IC-H045) unicomps P 0
164330 Тонер KONICA MINOLTA TN-622K С6085/С6100 (A5E7151) unicomps P 0
169528 Емкость EPSON для отработанных чернил T2950 для WF-100W (C13T295000) unicomps P 0
175066 Картридж HP Cartridge 865 для PageWide XL 4200/5200, желтый, 500 мл (3ED84A) unicomps P 0
184043 Тонер-картридж KONICA MINOLTA bizhub 750i черный TN714 (ACYP050) unicomps P 0
216438 Картридж G&G 827A для HP CLJ flow M880, with chip (32 000стр.), пурпурный (замена CF303A) (GG-CF303A) unicomps P 0
263004 Картридж EPSON Dye Sublimation Yellow T49N400 (140mL) (C13T49N400) unicomps P 0
279659 Кресло CHAIRMAN 545 ткань черный (7126770) unicomps P 0
295751 Картридж TRENDART для Samsung ML-2160/65/67/68/SCX-3400/05/07/SCX-3400F/05F 1500 стр. (TrA_MLT-D101S) unicomps P 0
307166 Лента BROTHER переноса изображения BU-223CL для HLL3230CDW/DCPL3550CDW/MFCL3770CDW (50000стр) (BU223CL) unicomps P 0
308366 Картридж G&G струйный 712 пурпурный (29мл) для HP DesignJet T650/T630/T250/T230/T210/Studio Plotter Printers (GG-3ED68A) unicomps P 0
315969 Пластина RICOH РЕГУЛИРОВОЧНАЯ : КОНТАКТНЫЙ ДАТЧИК ИЗОБРАЖЕНИЯ CIS cleaning jig (M0EB3023) unicomps P 0
315971 Картридж RICOH THERMISTOR:FUSING:MIDDLE (AW100131) unicomps P 0
317523 Картридж CACTUS лазерный 842454 черный (18000стр.) для Ricoh M C2000 (CS-MC2000BK) unicomps P 0
317945 Картридж G&G лазерный TN-420/2210/2235/2230/2260/2010 черный (1200стр.) для Brother HL-2130/2132/2240/2240D/2250DN/2270DW/2220/2270DW/2275DW;DCP-7055/7060/7065DN/7060D;MFC-7360/7460DN/7860D/7240/7360N/7860DW;IntelliFax-2840/2940 (GG-TN2090) unicomps P 0
321995 Tонер-картридж OKI желтый (3K) C332/MC363, 46508733 (46508709) unicomps P 0
321998 Tонер-картридж OKI голубой (6K) C612, 46507519 (46507507) unicomps P 0