SELECT 
  cscart_pages.*, 
  cscart_page_descriptions.*, 
  cscart_seo_names.name as seo_name, 
  cscart_seo_names.path as seo_path 
FROM 
  cscart_pages 
  INNER JOIN cscart_page_descriptions ON cscart_pages.page_id = cscart_page_descriptions.page_id 
  LEFT JOIN cscart_seo_names ON cscart_seo_names.object_id = cscart_pages.page_id 
  AND cscart_seo_names.type = 'a' 
  AND cscart_seo_names.dispatch = '' 
  AND cscart_seo_names.lang_code = 'vi' 
WHERE 
  cscart_pages.page_id = 55 
  AND cscart_page_descriptions.lang_code = 'vi' 
  AND (
    cscart_pages.usergroup_ids = '' 
    OR FIND_IN_SET(0, cscart_pages.usergroup_ids) 
    OR FIND_IN_SET(1, cscart_pages.usergroup_ids)
  ) 
  AND cscart_pages.page_type IN ('T', 'L', 'F')

Query time 0.00090

JSON explain

{
  "query_block": {
    "select_id": 1,
    "const_condition": "1",
    "nested_loop": [
      {
        "table": {
          "table_name": "cscart_pages",
          "access_type": "const",
          "possible_keys": ["PRIMARY"],
          "key": "PRIMARY",
          "key_length": "3",
          "used_key_parts": ["page_id"],
          "ref": ["const"],
          "rows": 1,
          "filtered": 100
        }
      },
      {
        "table": {
          "table_name": "cscart_page_descriptions",
          "access_type": "const",
          "possible_keys": ["PRIMARY"],
          "key": "PRIMARY",
          "key_length": "9",
          "used_key_parts": ["page_id", "lang_code"],
          "ref": ["const", "const"],
          "rows": 1,
          "filtered": 100
        }
      },
      {
        "table": {
          "table_name": "cscart_seo_names",
          "access_type": "ref",
          "possible_keys": ["PRIMARY", "dispatch"],
          "key": "PRIMARY",
          "key_length": "206",
          "used_key_parts": ["object_id", "type", "dispatch", "lang_code"],
          "ref": ["const", "const", "const", "const"],
          "rows": 1,
          "filtered": 100,
          "attached_condition": "trigcond(cscart_seo_names.`type` = 'a' and cscart_seo_names.dispatch = '' and cscart_seo_names.lang_code = 'vi')"
        }
      }
    ]
  }
}

Result

page_id company_id parent_id id_path status page_type position timestamp usergroup_ids localization new_window use_avail_period avail_from_timestamp avail_till_timestamp facebook_obj_type lang_code page description meta_keywords meta_description page_title link seo_name seo_path
55 0 0 55 A T 10 1664902800 0 0 N 0 0 vi Trả hàng và hoàn tiền <p><strong><span style="font-size: 18pt;">Quy Trình Trả Hàng &amp; Hoàn Tiền</span></strong></p> <p>Hiện tại chính sách của Chus <strong>chưa hỗ trợ đổi hàng hoặc trả hàng không lý do</strong>. Trong trường hợp sản phẩm nhận được có vấn đề (xem chi tiết), bạn có thể yêu cầu Trả hàng / Hoàn tiền trên website của Chus theo quy trình bên dưới đây:</p> <p> </p> <p><img style="display: block; margin-left: auto; margin-right: auto; width: 600px;" src="/images/Marketing/trả_hàng_-_1.jpg" alt="trả hàng 1" width="600" height="227" /></p> <p><img style="display: block; margin-left: auto; margin-right: auto; width: 600px;" src="/images/Marketing/trả_hàng_-_2.jpg" alt="trả hàng 2" width="600" height="674" /></p> <p> </p> <p><span style="color: #ff0000;">Lưu ý:</span></p> <p>     - Người Mua cần thực hiện các bước Trả hàng / Hoàn tiền đúng hạn. Nếu không, các yêu cầu Trả hàng / Hoàn tiền của bạn sẽ bị hủy tự động / được xử lý theo quy định của Chus.</p> <p>     - Đối với sản phẩm đặt trước, Chus chỉ hỗ trợ Trả hàng / Hoàn tiền trong trường hợp sản phẩm bị hư hỏng, tổn thất và Người Mua cần cung cấp đầy đủ chứng cứ chứng minh.</p> <p>     - Chus chưa hỗ trợ các yêu cầu Trả hàng / Hoàn tiền thuộc về cảm quan / không ưng ý / thay đổi quyết định mua hàng.</p> <p>     - Trong mọi trường hợp khiếu nại, quyết định của Chus sẽ là quyết định cuối cùng.</p> tra-hang-va-hoan-tien