SELECT 
  SQL_CALC_FOUND_ROWS products.product_id, 
  descr1.product as product, 
  companies.company as company_name, 
  products.product_type, 
  products.parent_product_id, 
  cscart_product_review_prepared_data.average_rating average_rating, 
  cscart_product_review_prepared_data.reviews_count product_reviews_count 
FROM 
  cscart_products as products 
  LEFT JOIN cscart_product_descriptions as descr1 ON descr1.product_id = products.product_id 
  AND descr1.lang_code = 'vi' 
  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 
  LEFT JOIN cscart_product_review_prepared_data ON cscart_product_review_prepared_data.product_id = products.product_id 
  AND cscart_product_review_prepared_data.storefront_id = 0 
  LEFT JOIN cscart_product_popularity as popularity ON popularity.product_id = products.product_id 
WHERE 
  1 
  AND companies.status IN ('A') 
  AND products.company_id = 256 
  AND (
    products.amount > 0 
    OR products.tracking = 'D'
  ) 
  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 = 256 
  AND products.parent_product_id = 0 
GROUP BY 
  products.product_id 
ORDER BY 
  popularity.total desc, 
  products.product_id ASC 
LIMIT 
  0, 30

Query time 0.04281

JSON explain

{
  "query_block": {
    "select_id": 1,
    "filesort": {
      "sort_key": "popularity.total desc, products.product_id",
      "temporary_table": {
        "nested_loop": [
          {
            "table": {
              "table_name": "companies",
              "access_type": "const",
              "possible_keys": ["PRIMARY"],
              "key": "PRIMARY",
              "key_length": "4",
              "used_key_parts": ["company_id"],
              "ref": ["const"],
              "rows": 1,
              "filtered": 100
            }
          },
          {
            "table": {
              "table_name": "products",
              "access_type": "index_merge",
              "possible_keys": ["PRIMARY", "status", "idx_parent_product_id"],
              "key_length": "4,3",
              "index_merge": {
                "intersect": [
                  {
                    "range": {
                      "key": "idx_parent_product_id",
                      "used_key_parts": ["parent_product_id"]
                    }
                  },
                  {
                    "range": {
                      "key": "status",
                      "used_key_parts": ["status"]
                    }
                  }
                ]
              },
              "rows": 4689,
              "filtered": 100,
              "attached_condition": "products.company_id = 256 and products.parent_product_id = 0 and (products.amount > 0 or products.tracking = 'D') 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": "descr1",
              "access_type": "eq_ref",
              "possible_keys": ["PRIMARY", "product_id"],
              "key": "PRIMARY",
              "key_length": "11",
              "used_key_parts": ["product_id", "lang_code"],
              "ref": ["dev_db.products.product_id", "const"],
              "rows": 1,
              "filtered": 100,
              "attached_condition": "trigcond(descr1.lang_code = 'vi')"
            }
          },
          {
            "table": {
              "table_name": "cscart_product_review_prepared_data",
              "access_type": "eq_ref",
              "possible_keys": ["PRIMARY"],
              "key": "PRIMARY",
              "key_length": "7",
              "used_key_parts": ["product_id", "storefront_id"],
              "ref": ["dev_db.products.product_id", "const"],
              "rows": 1,
              "filtered": 100
            }
          },
          {
            "table": {
              "table_name": "popularity",
              "access_type": "eq_ref",
              "possible_keys": ["PRIMARY", "total"],
              "key": "PRIMARY",
              "key_length": "3",
              "used_key_parts": ["product_id"],
              "ref": ["dev_db.products.product_id"],
              "rows": 1,
              "filtered": 100
            }
          },
          {
            "table": {
              "table_name": "prices",
              "access_type": "ref",
              "possible_keys": [
                "usergroup",
                "product_id",
                "lower_limit",
                "usergroup_id"
              ],
              "key": "product_id",
              "key_length": "3",
              "used_key_parts": ["product_id"],
              "ref": ["dev_db.products.product_id"],
              "rows": 1,
              "filtered": 99.9960556,
              "attached_condition": "prices.lower_limit = 1 and prices.usergroup_id in (0,0,1)"
            }
          },
          {
            "table": {
              "table_name": "products_categories",
              "access_type": "ref",
              "possible_keys": ["PRIMARY", "pt"],
              "key": "pt",
              "key_length": "3",
              "used_key_parts": ["product_id"],
              "ref": ["dev_db.products.product_id"],
              "rows": 1,
              "filtered": 100
            }
          },
          {
            "table": {
              "table_name": "cscart_categories",
              "access_type": "eq_ref",
              "possible_keys": ["PRIMARY", "p_category_id"],
              "key": "PRIMARY",
              "key_length": "3",
              "used_key_parts": ["category_id"],
              "ref": ["dev_db.products_categories.category_id"],
              "rows": 1,
              "filtered": 100,
              "using_index": true
            }
          }
        ]
      }
    }
  }
}

Result

product_id product company_name product_type parent_product_id average_rating product_reviews_count
22172 Khăn Turban Thêu Vintage, Hoạ Tiết Thêu Hoa Lá, Phụ Kiện Đa Năng, Chất Liệu Mềm Mại, Chi Tiết Tỉ Mỉ, Kiểu Dáng Cổ Điển Em Thêu P 0 5.00 4
2873 Mũ Nồi Thêu, Thiết Kế Dáng Tròn Độc Đáo, Chất Liệu Vải Dạ Đứng Form, Hoạ Tiết Thêu Tay Đa Dạng, Phụ Kiện Thời Trang Em Thêu P 0 5.00 3
2854 Khung Tranh Thêu Tay Nét Đẹp Vạn Vật (Đặt Theo Yêu Cầu), Thiết Kế Đa Dạng, Chất Liệu Đất Sét Nhật Cao Cấp, Kỹ Thuật Thêu Tay Khéo Léo Em Thêu P 0 5.00 1
22268 Thẻ Đánh Dấu Trang Thêu, Hoạ Tiết Thêu Tay Tỉ Mỉ, Thiết Kế Nữ Tính, Phụ Kiện Cho Người Mọt Sách, Sản Phẩm Thủ Công Em Thêu P 0 4.80 5
1942 Tất/Vớ Cao Cổ Thêu Tay, Tất Thêu Hình Nhỏ Xinh, Vớ Thêu Phong Cách Vintage, Tất Cotton Thoáng Mát, Quà Tặng Bạn Bè Em Thêu P 0 5.00 2
2857 Khung Tranh Thêu Tay Đêm Huyền Bí, Tông Màu Độc Đáo, Phong Cách Huyền Bí, Chất Lượng Thêu Tay Tinh Tế Em Thêu P 0 5.00 1
22214 Dây Cột Tóc Thêu, Scrunchies Đeo Tay, Thiết Kế Mộc Mạc, Quà Tặng Cho Cô Nàng Yêu Thích Phong Cách Vintage Em Thêu P 0 5.00 4
1945 Khung Hình Thêu Hai Mặt, Phong Cách Độc Đáo Và Đa Dạng, Chất Liệu Cao Cấp Và Tỉ Mỉ, Tính Ứng Dụng Cao Em Thêu P 0 5.00 1
22263 Vòng Tay Thêu Linen, Tuỳ Chỉnh Hoạ Tiết và Kích Cỡ, Phong Cách Trẻ Trung, Chất Liệu Mềm Mại, Quà Tặng Phụ Kiện Ý Nghĩa Em Thêu P 0 5.00 1
2859 Khung Tranh Thêu Tay Khu Rừng Nhiệt Đới (Đặt Theo Yêu Cầu), Họa Tiết Khu Rừng Nhiệt Đới, Thêu Tay Mộc Mạc Và Tỉ Mỉ, Tạo Cảm Giác Thoải Mái Em Thêu P 0 5.00 1
1946 Tất/Vớ Cổ Ngắn Thêu Tay, Vớ Ngắn Thêu Hoa Tím, Vớ Cotton Cổ Thấp, Tất Mang Giày Búp Bê, Vớ Vintage, Quà Tặng Bạn Gái Em Thêu P 0 5.00 1
44946 Bộ Áo & Váy Linen Thêu Thủ Công, Thiết Kế Tinh Tế, Trang Phục Ứng Dụng, Chất Liệu Mềm Mại và Thoáng Mát, Hoạ Tiết Thêu Tay Tỉ Mỉ Em Thêu P 0 5.00 4
44943 Đầm Linen Thêu Thủ Công, Hai Lớp Mềm Mại, Hoạ Tiết Thêu Tay, Mềm Mại và Thoáng Mát, Đường Cắt May Tinh Tế Em Thêu P 0 0
44944 Đầm Yếm Thêu Thủ Công, Chất Liệu Mềm Mai, Phù Hợp Nhiều Phong Cách, Tính Ứng Dụng Cao, Đường May Tỉ Mỉ và Chắc Chắn Em Thêu P 0 0
44947 Áo Linen Cổ Chữ V Thêu Thủ Công, Chất LIệu Lien Nhẹ Thoáng, Không Bị Phai Màu, Phong Cách Tối Giản Mùa Hè Em Thêu P 0 5.00 1
47974 Gối Thêu Tay Thủ Công, Màu Sắc Đa Dạng, Họa Tiết Thêu Tay Xinh Xắn, Vải Linen Mềm Mại, Phong Cách Nhã Nhặn, Dùng Gối Đầu Hoặc Trang Trí Sofa Em Thêu P 0 5.00 4
44945 Đầm Linen Nút Gỗ Thêu Thủ Công, Phong Cách Trẻ Trung và Nữ Tính, Màu Sắc Tươi Sáng Và Bền Màu, Chất Liệu Mỏng Nhẹ Em Thêu P 0 0
44281 Dây Cột Tóc Linen Nơ Dài Thêu Thủ Công, Chất Liệu Linen Mềm Mại, Thiết Kế Điệu Đà và Nữ Tính, Điểm Nhấn Duyên Dáng Cho Mái Tóc Em Thêu P 0 0