SELECT 
  SQL_CALC_FOUND_ROWS products.product_id, 
  descr1.product as product, 
  companies.company as company_name, 
  products.product_type, 
  products.parent_product_id, 
  descr1.full_description as full_description 
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) 
WHERE 
  1 
  AND cscart_categories.category_id IN (238) 
  AND companies.status IN ('A') 
  AND 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 IN ('A') 
  AND prices.usergroup_id IN (0, 0, 1) 
  AND products.company_id = 1 
  AND products.parent_product_id = 0 
  AND products.company_id IN('1', '2', '3', '4', '5', '6') 
  AND products.product_type != 'D' 
GROUP BY 
  products.product_id 
ORDER BY 
  product asc, 
  products.product_id ASC 
LIMIT 
  0, 12

Query time 0.00139

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "10.99"
    },
    "ordering_operation": {
      "using_filesort": true,
      "grouping_operation": {
        "using_temporary_table": true,
        "using_filesort": false,
        "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": "7K"
              },
              "used_columns": [
                "company_id",
                "status",
                "company"
              ]
            }
          },
          {
            "table": {
              "table_name": "cscart_categories",
              "access_type": "const",
              "possible_keys": [
                "PRIMARY",
                "c_status",
                "p_category_id"
              ],
              "key": "PRIMARY",
              "used_key_parts": [
                "category_id"
              ],
              "key_length": "3",
              "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": "2K"
              },
              "used_columns": [
                "category_id",
                "storefront_id",
                "usergroup_ids",
                "status"
              ]
            }
          },
          {
            "table": {
              "table_name": "products_categories",
              "access_type": "ref",
              "possible_keys": [
                "PRIMARY",
                "pt"
              ],
              "key": "PRIMARY",
              "used_key_parts": [
                "category_id"
              ],
              "key_length": "3",
              "ref": [
                "const"
              ],
              "rows_examined_per_scan": 6,
              "rows_produced_per_join": 6,
              "filtered": "100.00",
              "using_index": true,
              "cost_info": {
                "read_cost": "1.12",
                "eval_cost": "1.20",
                "prefix_cost": "2.33",
                "data_read_per_join": "96"
              },
              "used_columns": [
                "product_id",
                "category_id"
              ]
            }
          },
          {
            "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": [
                "atulecarter_atul_demo1.products_categories.product_id"
              ],
              "rows_examined_per_scan": 1,
              "rows_produced_per_join": 0,
              "filtered": "8.52",
              "cost_info": {
                "read_cost": "6.00",
                "eval_cost": "0.10",
                "prefix_cost": "9.52",
                "data_read_per_join": "2K"
              },
              "used_columns": [
                "product_id",
                "product_type",
                "status",
                "company_id",
                "usergroup_ids",
                "parent_product_id"
              ],
              "attached_condition": "((`atulecarter_atul_demo1`.`products`.`parent_product_id` = 0) and (`atulecarter_atul_demo1`.`products`.`company_id` = 1) and ((`atulecarter_atul_demo1`.`products`.`usergroup_ids` = '') or find_in_set(0,`atulecarter_atul_demo1`.`products`.`usergroup_ids`) or find_in_set(1,`atulecarter_atul_demo1`.`products`.`usergroup_ids`)) and (`atulecarter_atul_demo1`.`products`.`status` = 'A') and (`atulecarter_atul_demo1`.`products`.`product_type` <> 'D'))"
            }
          },
          {
            "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": [
                "atulecarter_atul_demo1.products_categories.product_id",
                "const"
              ],
              "rows_examined_per_scan": 1,
              "rows_produced_per_join": 0,
              "filtered": "100.00",
              "cost_info": {
                "read_cost": "0.51",
                "eval_cost": "0.10",
                "prefix_cost": "10.14",
                "data_read_per_join": "2K"
              },
              "used_columns": [
                "product_id",
                "lang_code",
                "product",
                "full_description"
              ]
            }
          },
          {
            "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": [
                "atulecarter_atul_demo1.products_categories.product_id"
              ],
              "rows_examined_per_scan": 3,
              "rows_produced_per_join": 1,
              "filtered": "97.36",
              "using_index": true,
              "cost_info": {
                "read_cost": "0.54",
                "eval_cost": "0.30",
                "prefix_cost": "10.99",
                "data_read_per_join": "35"
              },
              "used_columns": [
                "product_id",
                "lower_limit",
                "usergroup_id"
              ],
              "attached_condition": "((`atulecarter_atul_demo1`.`prices`.`lower_limit` = 1) and (`atulecarter_atul_demo1`.`prices`.`usergroup_id` in (0,0,1)))"
            }
          }
        ]
      }
    }
  }
}

Result

product_id product company_name product_type parent_product_id full_description
86 Nokia 700 CS-Cart P 0 <p>Nokia 700 - Experience the thinnest and most compact Nokia touch Smartphone (L=4.33", W=1.97", Thickness=.38", Weight=.21 lbs.). Stay connected with friends and family with a compact and elegant device. Slim and sustainable elegance fits perfectly in your hand. Fresh and fast new Nokia UI delivers what you need when you need it. Personalize your multiple home screens with different sized widgets. Browsing experience like on your desktop PC. Choose from thousands of apps. Sharing pictures and pairing accessories has never been so easy. You can effortlessly share your photos and videos with NFC. Tap and access information and benefits from NFC tags placed in stores and public places. Crisp and Clear display makes it look almost as if the icons are painted on the surface of the handset with Vibrant colors and sharp contrasts indoors and outdoors, day or night. Extensive use of recycled metals, bio plastics and bio paint makes this the most Nokia Smartphone ever.</p>
106 Nokia E5-00 CS-Cart P 0 <p>Discover more ways to stay connected with friends, family, business contacts and everyone important to you with the Nokia E5-00. It has everything you need to stay in touch with a variety of email and messaging options, while also helping you to take and share pics and videos, explore the web, connect through social networking, access work and personal email, navigate your day and more. The affordable Nokia E5 even manages to fit a full QWERTY keyboard into its compact, eye-catching design for quick and easy messaging on the go. Plus, there are plenty of features to make it the perfect business-focused device. Stay productive and stay in the loop with work no matter where you are with simple setup and access for your corporate email account. The Nokia E5 makes communicating with work a breeze with Mail for Exchange, the free, direct and secure corporate email solution that offers a robust desktop-like email experience right on your phone, with email, calendar, contacts and more. Plus, your work email shows up on your phone instantly, so you don&rsquo;t have to wait for important emails. The Nokia E5 also features a fully integrated Microsoft Communicator Mobile client, to provide your mobile device the same great IM, contacts and usability that you enjoy on your computer. Keep in touch however you like with a variety of ways to connect to others with the Nokia E5. The home screen offers an easy visual way to view your contacts and makes it easy to organize the people you talk to most. The Nokia E5 also features one-click access to messaging as well as easy email setup and support for plenty of popular personal email services. The leading IM services have also been seamlessly integrated onto the phone. The Nokia E5 also offers free voice-guided navigation from Ovi Maps so you always know where you&rsquo;re going. Plus customize your phone with thousands of available apps from Ovi Store. Connect with everyone and everything you want with the Nokia E5.</p>
105 Nokia Lumia 800 CS-Cart P 0 <p>EASIER, FASTER, FUNNER<br /><br />The Nokia Lumia 800. One glance to see what everyone's up to.</p>
101 Nokia X3-02 CS-Cart P 0 <p>Stay connected and keep yourself entertained wherever you roam with the sleek Nokia X3-02 unlocked GSM mobile phone. This stunning, touch-and-type phone features a keypad for easy messaging and a touch display for one-handed navigation. Touch and type is ideal for SMS and social networking where fast and frequent input is needed, while touch is ideal for functions such as setting alarms, smooth browsing and controlling applications like music and games.</p>