SELECT 
  SQL_CALC_FOUND_ROWS (
    CASE WHEN products.parent_product_id <> 0 THEN products.parent_product_id ELSE products.product_id END
  ) AS product_id, 
  descr1.product as product, 
  companies.company as company_name, 
  companies.ec_rfq_whatsapp_number, 
  companies.ec_rfq_bht, 
  companies.ec_rfq_phone_number, 
  companies.ec_rfq_bhf, 
  GROUP_CONCAT(
    products.product_id 
    ORDER BY 
      products.parent_product_id ASC, 
      products.product_id ASC
  ) AS product_ids, 
  GROUP_CONCAT(
    products.product_type 
    ORDER BY 
      products.parent_product_id ASC, 
      products.product_id ASC
  ) AS product_types, 
  GROUP_CONCAT(
    products.parent_product_id 
    ORDER BY 
      products.parent_product_id ASC, 
      products.product_id ASC
  ) AS parent_product_ids, 
  products.product_type, 
  products.parent_product_id, 
  cscart_ec_table_booking_system.booking_type as booking_type 
FROM 
  cscart_products as products 
  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_ec_table_booking_system ON cscart_ec_table_booking_system.product_id = products.product_id 
  LEFT JOIN cscart_product_popularity as popularity ON popularity.product_id = products.product_id 
WHERE 
  1 
  AND cscart_categories.category_id IN (
    266, 
    10631, 
    10632, 
    10633, 
    10667, 
    10669, 
    1498, 
    1479, 
    1480, 
    1481, 
    1496, 
    1497, 
    1522, 
    1523, 
    1524, 
    1525, 
    1499, 
    1500, 
    1501, 
    1502, 
    1503, 
    1504, 
    2386, 
    2387, 
    2469, 
    2553, 
    1584, 
    1303, 
    1309, 
    9401, 
    2473, 
    2596, 
    2613, 
    9958, 
    1907, 
    1908, 
    1909, 
    1910, 
    1911, 
    1912, 
    1913, 
    2180, 
    9849, 
    9864, 
    1936, 
    1937, 
    1938, 
    1939, 
    2579, 
    2580, 
    2338, 
    2581, 
    2582, 
    2583, 
    2584, 
    2585, 
    2586, 
    2601, 
    9929, 
    2171, 
    2172, 
    2173, 
    2174, 
    2175, 
    2621, 
    2178, 
    2179, 
    2370, 
    2371, 
    2372, 
    2559, 
    9748, 
    9749, 
    9750, 
    2373, 
    2374, 
    2375, 
    2376, 
    2377, 
    2548, 
    2388, 
    2390, 
    2391, 
    2392, 
    2393, 
    9624, 
    2394, 
    2395, 
    2396, 
    2479, 
    2483, 
    2404, 
    2405, 
    2406, 
    2407, 
    2539, 
    2540, 
    2433, 
    2176, 
    2434, 
    2435, 
    2436, 
    2437, 
    2478, 
    2480, 
    2481, 
    2482, 
    2587, 
    2549, 
    2465, 
    2466, 
    2467, 
    2577, 
    10247, 
    10248, 
    10249, 
    10250, 
    2578, 
    2604, 
    9955, 
    9956, 
    9957, 
    2623, 
    9867, 
    9920, 
    2591, 
    2592, 
    2593, 
    2594, 
    2611, 
    1306, 
    2612, 
    2615, 
    2616, 
    2618, 
    2617, 
    327, 
    1018, 
    1438, 
    1695, 
    1696, 
    1697, 
    1698, 
    2568, 
    2599, 
    2602, 
    2528, 
    2566, 
    2567, 
    2597, 
    328, 
    341, 
    342, 
    343, 
    397, 
    344, 
    2595, 
    345, 
    346, 
    2470, 
    2471, 
    2472, 
    2638, 
    347, 
    348, 
    349, 
    352, 
    9264, 
    356, 
    1506, 
    1714, 
    1715, 
    1914, 
    2397, 
    2398, 
    2399, 
    2400, 
    2401, 
    2402, 
    2403, 
    2468, 
    2529, 
    2530, 
    2531, 
    2532, 
    2533, 
    2534, 
    2535, 
    2536, 
    2537, 
    2538, 
    2552, 
    393, 
    1516, 
    1517, 
    396, 
    929, 
    1415, 
    1416, 
    1417, 
    1418, 
    1419, 
    1420, 
    2541, 
    9290, 
    394, 
    1861, 
    2389, 
    2554, 
    395, 
    398, 
    399, 
    9294, 
    9623, 
    9921, 
    9922, 
    9923, 
    9924, 
    9940, 
    9941, 
    9944, 
    9945, 
    9946, 
    9942, 
    9943, 
    443, 
    10425, 
    10426, 
    1409, 
    1514, 
    1515, 
    1410, 
    1411, 
    1412, 
    1413, 
    1414, 
    1427, 
    1508, 
    1520, 
    1505, 
    1509, 
    1510, 
    1511, 
    1512, 
    1513, 
    1521, 
    2542, 
    1518, 
    1519, 
    1690, 
    1691, 
    1692, 
    1693, 
    1694, 
    2454, 
    2455, 
    2456, 
    2610, 
    2634, 
    267, 
    444, 
    2631, 
    445, 
    1407, 
    1408, 
    446, 
    447, 
    10409, 
    10410, 
    10411, 
    10413, 
    1441, 
    1442, 
    9842, 
    9843, 
    715, 
    1315, 
    716, 
    930, 
    8944, 
    932, 
    933, 
    953, 
    954, 
    934, 
    955, 
    956, 
    941, 
    935, 
    936, 
    944, 
    952, 
    945, 
    1316, 
    946, 
    947, 
    9961, 
    9692, 
    9693, 
    9694, 
    9695, 
    9830, 
    9840, 
    9841, 
    9844, 
    9845, 
    9846, 
    9847, 
    9848, 
    9855, 
    9856, 
    9857, 
    9858, 
    9859, 
    9860, 
    9861, 
    9862, 
    9863, 
    9865, 
    9866, 
    9918, 
    9919, 
    990, 
    2265, 
    2266, 
    2267, 
    2268, 
    2269, 
    2270, 
    2271, 
    2272, 
    2273, 
    991, 
    2603, 
    992, 
    994, 
    9926, 
    9927, 
    9930, 
    9928, 
    9963, 
    9936
  ) 
  AND companies.status IN ('A') 
  AND products.company_id IN (
    1, 
    25, 
    34, 
    35, 
    36, 
    37, 
    38, 
    39, 
    40, 
    41, 
    42, 
    43, 
    44, 
    45, 
    46, 
    47, 
    48, 
    49, 
    50, 
    51, 
    52, 
    53, 
    54, 
    55, 
    56, 
    57, 
    58, 
    59, 
    60, 
    61, 
    62, 
    63, 
    64, 
    65, 
    66, 
    67, 
    68, 
    69, 
    70, 
    71, 
    72, 
    73, 
    74, 
    75, 
    76, 
    77, 
    78, 
    79, 
    81, 
    82, 
    83, 
    84, 
    85, 
    86, 
    87, 
    88, 
    89, 
    90, 
    91, 
    92, 
    93, 
    94, 
    95, 
    96, 
    97, 
    98, 
    99, 
    100, 
    101, 
    102, 
    103, 
    104, 
    105, 
    106, 
    108, 
    109, 
    110, 
    111, 
    122, 
    123, 
    124, 
    125, 
    126, 
    127, 
    128, 
    129, 
    130, 
    131, 
    132, 
    134, 
    135, 
    136, 
    137, 
    138, 
    139, 
    140, 
    141, 
    142, 
    143, 
    144, 
    145, 
    146, 
    148, 
    150, 
    152, 
    153, 
    154, 
    155, 
    156, 
    157, 
    158, 
    159, 
    160, 
    161, 
    162, 
    163, 
    164, 
    165, 
    166, 
    167, 
    168, 
    169, 
    170, 
    171, 
    172, 
    173, 
    174, 
    175, 
    176, 
    177, 
    178, 
    179, 
    180, 
    181, 
    182, 
    183, 
    184, 
    185, 
    186, 
    187, 
    188, 
    189, 
    190, 
    191, 
    192, 
    193, 
    194, 
    196, 
    197, 
    198, 
    199, 
    200, 
    202, 
    203, 
    204, 
    205, 
    206, 
    207, 
    208, 
    210, 
    211, 
    212, 
    213, 
    214, 
    215, 
    216, 
    217, 
    218, 
    219, 
    220, 
    221, 
    222, 
    223, 
    224, 
    225, 
    226, 
    227, 
    228, 
    229, 
    230, 
    231, 
    232, 
    233, 
    234, 
    235, 
    236, 
    237, 
    238, 
    239, 
    240, 
    241, 
    242, 
    243, 
    244, 
    245, 
    246, 
    247, 
    248, 
    249, 
    250, 
    251, 
    252, 
    253, 
    254, 
    255, 
    256, 
    257, 
    259, 
    260, 
    261, 
    262, 
    263, 
    264, 
    266, 
    268, 
    269, 
    271, 
    272, 
    273, 
    276, 
    277, 
    278, 
    279, 
    280, 
    281, 
    282, 
    284, 
    285, 
    286, 
    287, 
    288, 
    289, 
    290, 
    291, 
    292, 
    293, 
    294, 
    295, 
    296, 
    297, 
    298, 
    299, 
    300, 
    301, 
    302, 
    303, 
    304, 
    305, 
    306, 
    307, 
    308, 
    309, 
    310, 
    311, 
    312, 
    313, 
    314, 
    315, 
    316, 
    317, 
    318, 
    319, 
    321, 
    322, 
    323, 
    324, 
    325, 
    326, 
    327, 
    328, 
    329, 
    330, 
    331, 
    332, 
    333, 
    334, 
    335, 
    336, 
    337, 
    338, 
    339, 
    340, 
    341, 
    342, 
    343, 
    344, 
    345, 
    346, 
    347, 
    348, 
    349, 
    350, 
    351, 
    352, 
    353, 
    354, 
    355, 
    356, 
    357, 
    358, 
    359, 
    360, 
    361, 
    362, 
    363, 
    364, 
    365, 
    366, 
    367, 
    368, 
    369, 
    370, 
    371, 
    372, 
    373, 
    374, 
    377, 
    378, 
    379, 
    380, 
    381, 
    382, 
    383, 
    384, 
    385, 
    387, 
    388, 
    389, 
    391, 
    392, 
    393, 
    394, 
    395, 
    396, 
    397, 
    398, 
    400, 
    401, 
    402, 
    403, 
    404, 
    405, 
    406, 
    407, 
    408, 
    409, 
    410, 
    411, 
    414, 
    415, 
    416, 
    417, 
    418, 
    419, 
    420, 
    421, 
    422, 
    423, 
    424, 
    425, 
    426, 
    427, 
    428, 
    429, 
    430, 
    431, 
    432, 
    433, 
    434, 
    435, 
    436, 
    439, 
    440, 
    443, 
    445, 
    447, 
    448, 
    449, 
    450, 
    451, 
    452, 
    454, 
    455, 
    457, 
    458, 
    459, 
    460, 
    461, 
    462, 
    463, 
    465, 
    466, 
    467, 
    468, 
    469, 
    470, 
    471, 
    472, 
    473, 
    474, 
    476, 
    478, 
    479, 
    480, 
    481, 
    482, 
    483, 
    484, 
    485, 
    486, 
    487, 
    488, 
    489, 
    491, 
    492, 
    493, 
    494, 
    495, 
    496, 
    497, 
    498, 
    501, 
    503, 
    504, 
    505, 
    507, 
    508, 
    509, 
    510, 
    511, 
    512, 
    513, 
    514, 
    515, 
    516, 
    518, 
    519, 
    520, 
    522, 
    524, 
    525, 
    526, 
    527, 
    528, 
    531, 
    532, 
    533, 
    535, 
    537, 
    539, 
    540, 
    541, 
    542, 
    543, 
    545, 
    546, 
    547, 
    548, 
    549, 
    550, 
    551, 
    553, 
    554, 
    556, 
    557, 
    558, 
    559, 
    560, 
    561, 
    562, 
    563, 
    564, 
    566, 
    567, 
    568, 
    569, 
    575, 
    576, 
    577, 
    579, 
    580, 
    582, 
    583, 
    585, 
    586, 
    587, 
    588, 
    590, 
    591, 
    592, 
    593, 
    594, 
    595, 
    596, 
    597, 
    598, 
    600, 
    602, 
    603, 
    604, 
    606, 
    607, 
    609, 
    610, 
    611, 
    613, 
    618, 
    620, 
    621, 
    622, 
    623, 
    624, 
    625, 
    626, 
    627, 
    628, 
    629, 
    630, 
    631, 
    632, 
    633, 
    634, 
    635, 
    636, 
    637, 
    639, 
    641, 
    642, 
    643, 
    644, 
    646, 
    647, 
    649, 
    655, 
    660, 
    661, 
    662, 
    663, 
    665, 
    668, 
    669, 
    670, 
    671, 
    672, 
    673, 
    674, 
    675, 
    676, 
    678, 
    679, 
    680, 
    681, 
    682, 
    685, 
    686, 
    687, 
    688, 
    689, 
    690, 
    691, 
    692, 
    693, 
    694, 
    695, 
    696, 
    697, 
    707, 
    719, 
    0
  ) 
  AND products.company_id = 352 
  AND products.status IN ('A') 
  AND products.free_shipping = 'Y' 
  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.company_id = 352 
GROUP BY 
  product_id 
ORDER BY 
  popularity.total desc, 
  products.product_id ASC

Query time 0.16612

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "4781.52"
    },
    "ordering_operation": {
      "using_filesort": true,
      "grouping_operation": {
        "using_temporary_table": true,
        "using_filesort": true,
        "buffer_result": {
          "using_temporary_table": true,
          "nested_loop": [
            {
              "table": {
                "table_name": "companies",
                "access_type": "const",
                "possible_keys": [
                  "PRIMARY"
                ],
                "key": "PRIMARY",
                "used_key_parts": [
                  "company_id"
                ],
                "key_length": "4",
                "ref": [
                  "const"
                ],
                "rows_examined_per_scan": 1,
                "rows_produced_per_join": 1,
                "filtered": "100.00",
                "cost_info": {
                  "read_cost": "0.00",
                  "eval_cost": "0.20",
                  "prefix_cost": "0.00",
                  "data_read_per_join": "9K"
                },
                "used_columns": [
                  "company_id",
                  "status",
                  "company",
                  "ec_rfq_whatsapp_number",
                  "ec_rfq_phone_number",
                  "ec_rfq_bhf",
                  "ec_rfq_bht"
                ]
              }
            },
            {
              "table": {
                "table_name": "cscart_categories",
                "access_type": "range",
                "possible_keys": [
                  "PRIMARY",
                  "c_status",
                  "p_category_id"
                ],
                "key": "PRIMARY",
                "used_key_parts": [
                  "category_id"
                ],
                "key_length": "3",
                "rows_examined_per_scan": 342,
                "rows_produced_per_join": 13,
                "filtered": "4.00",
                "cost_info": {
                  "read_cost": "477.57",
                  "eval_cost": "2.74",
                  "prefix_cost": "480.31",
                  "data_read_per_join": "81K"
                },
                "used_columns": [
                  "category_id",
                  "usergroup_ids",
                  "status",
                  "storefront_id"
                ],
                "attached_condition": "((`webmarco`.`cscart_categories`.`category_id` in (266,10631,10632,10633,10667,10669,1498,1479,1480,1481,1496,1497,1522,1523,1524,1525,1499,1500,1501,1502,1503,1504,2386,2387,2469,2553,1584,1303,1309,9401,2473,2596,2613,9958,1907,1908,1909,1910,1911,1912,1913,2180,9849,9864,1936,1937,1938,1939,2579,2580,2338,2581,2582,2583,2584,2585,2586,2601,9929,2171,2172,2173,2174,2175,2621,2178,2179,2370,2371,2372,2559,9748,9749,9750,2373,2374,2375,2376,2377,2548,2388,2390,2391,2392,2393,9624,2394,2395,2396,2479,2483,2404,2405,2406,2407,2539,2540,2433,2176,2434,2435,2436,2437,2478,2480,2481,2482,2587,2549,2465,2466,2467,2577,10247,10248,10249,10250,2578,2604,9955,9956,9957,2623,9867,9920,2591,2592,2593,2594,2611,1306,2612,2615,2616,2618,2617,327,1018,1438,1695,1696,1697,1698,2568,2599,2602,2528,2566,2567,2597,328,341,342,343,397,344,2595,345,346,2470,2471,2472,2638,347,348,349,352,9264,356,1506,1714,1715,1914,2397,2398,2399,2400,2401,2402,2403,2468,2529,2530,2531,2532,2533,2534,2535,2536,2537,2538,2552,393,1516,1517,396,929,1415,1416,1417,1418,1419,1420,2541,9290,394,1861,2389,2554,395,398,399,9294,9623,9921,9922,9923,9924,9940,9941,9944,9945,9946,9942,9943,443,10425,10426,1409,1514,1515,1410,1411,1412,1413,1414,1427,1508,1520,1505,1509,1510,1511,1512,1513,1521,2542,1518,1519,1690,1691,1692,1693,1694,2454,2455,2456,2610,2634,267,444,2631,445,1407,1408,446,447,10409,10410,10411,10413,1441,1442,9842,9843,715,1315,716,930,8944,932,933,953,954,934,955,956,941,935,936,944,952,945,1316,946,947,9961,9692,9693,9694,9695,9830,9840,9841,9844,9845,9846,9847,9848,9855,9856,9857,9858,9859,9860,9861,9862,9863,9865,9866,9918,9919,990,2265,2266,2267,2268,2269,2270,2271,2272,2273,991,2603,992,994,9926,9927,9930,9928,9963,9936)) and ((`webmarco`.`cscart_categories`.`usergroup_ids` = '') or find_in_set(0,`webmarco`.`cscart_categories`.`usergroup_ids`) or find_in_set(1,`webmarco`.`cscart_categories`.`usergroup_ids`)) and (`webmarco`.`cscart_categories`.`status` in ('A','H')) and (`webmarco`.`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": [
                  "webmarco.cscart_categories.category_id"
                ],
                "rows_examined_per_scan": 179,
                "rows_produced_per_join": 2454,
                "filtered": "100.00",
                "using_index": true,
                "cost_info": {
                  "read_cost": "17.25",
                  "eval_cost": "491.00",
                  "prefix_cost": "988.56",
                  "data_read_per_join": "38K"
                },
                "used_columns": [
                  "product_id",
                  "category_id"
                ]
              }
            },
            {
              "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": [
                  "webmarco.products_categories.product_id"
                ],
                "rows_examined_per_scan": 1,
                "rows_produced_per_join": 613,
                "filtered": "25.00",
                "using_index": true,
                "cost_info": {
                  "read_cost": "2454.99",
                  "eval_cost": "122.75",
                  "prefix_cost": "3934.54",
                  "data_read_per_join": "38K"
                },
                "used_columns": [
                  "product_id",
                  "lower_limit",
                  "usergroup_id"
                ],
                "attached_condition": "((`webmarco`.`prices`.`lower_limit` = 1) and (`webmarco`.`prices`.`usergroup_id` in (0,0,1)))"
              }
            },
            {
              "table": {
                "table_name": "products",
                "access_type": "eq_ref",
                "possible_keys": [
                  "PRIMARY",
                  "status",
                  "idx_parent_product_id"
                ],
                "key": "PRIMARY",
                "used_key_parts": [
                  "product_id"
                ],
                "key_length": "3",
                "ref": [
                  "webmarco.products_categories.product_id"
                ],
                "rows_examined_per_scan": 1,
                "rows_produced_per_join": 30,
                "filtered": "5.00",
                "cost_info": {
                  "read_cost": "613.75",
                  "eval_cost": "6.14",
                  "prefix_cost": "4671.04",
                  "data_read_per_join": "239K"
                },
                "used_columns": [
                  "product_id",
                  "product_type",
                  "status",
                  "company_id",
                  "usergroup_ids",
                  "free_shipping",
                  "parent_product_id"
                ],
                "attached_condition": "((`webmarco`.`products`.`company_id` = 352) and (`webmarco`.`products`.`status` = 'A') and (`webmarco`.`products`.`free_shipping` = 'Y') and ((`webmarco`.`products`.`usergroup_ids` = '') or find_in_set(0,`webmarco`.`products`.`usergroup_ids`) or find_in_set(1,`webmarco`.`products`.`usergroup_ids`)))"
              }
            },
            {
              "table": {
                "table_name": "cscart_ec_table_booking_system",
                "access_type": "eq_ref",
                "possible_keys": [
                  "PRIMARY"
                ],
                "key": "PRIMARY",
                "used_key_parts": [
                  "product_id"
                ],
                "key_length": "4",
                "ref": [
                  "webmarco.products_categories.product_id"
                ],
                "rows_examined_per_scan": 1,
                "rows_produced_per_join": 30,
                "filtered": "100.00",
                "cost_info": {
                  "read_cost": "30.69",
                  "eval_cost": "6.14",
                  "prefix_cost": "4707.87",
                  "data_read_per_join": "5K"
                },
                "used_columns": [
                  "product_id",
                  "booking_type"
                ],
                "attached_condition": "<if>(is_not_null_compl(cscart_ec_table_booking_system), (`webmarco`.`cscart_ec_table_booking_system`.`product_id` = `webmarco`.`products_categories`.`product_id`), true)"
              }
            },
            {
              "table": {
                "table_name": "popularity",
                "access_type": "eq_ref",
                "possible_keys": [
                  "PRIMARY",
                  "total"
                ],
                "key": "PRIMARY",
                "used_key_parts": [
                  "product_id"
                ],
                "key_length": "3",
                "ref": [
                  "webmarco.products_categories.product_id"
                ],
                "rows_examined_per_scan": 1,
                "rows_produced_per_join": 30,
                "filtered": "100.00",
                "cost_info": {
                  "read_cost": "30.69",
                  "eval_cost": "6.14",
                  "prefix_cost": "4744.69",
                  "data_read_per_join": "982"
                },
                "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": [
                  "webmarco.products_categories.product_id",
                  "const"
                ],
                "rows_examined_per_scan": 1,
                "rows_produced_per_join": 30,
                "filtered": "100.00",
                "cost_info": {
                  "read_cost": "30.69",
                  "eval_cost": "6.14",
                  "prefix_cost": "4781.52",
                  "data_read_per_join": "209K"
                },
                "used_columns": [
                  "product_id",
                  "lang_code",
                  "product"
                ]
              }
            }
          ]
        }
      }
    }
  }
}