Advertisement
wzline

Explain hard query

Mar 1st, 2017
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 3.19 KB | None | 0 0
  1. set profiling=1;
  2. SELECT sql_no_cache DISTINCT
  3.                                 BS.*,
  4.                                 B.LIST_PAGE_URL,
  5.                                 B.SECTION_PAGE_URL,
  6.                                 B.IBLOCK_TYPE_ID,
  7.                                 B.CODE as IBLOCK_CODE,
  8.                                 B.XML_ID as IBLOCK_EXTERNAL_ID,
  9.                                 BS.XML_ID as EXTERNAL_ID,
  10.                                 DATE_FORMAT(BS.TIMESTAMP_X, '%d.%m.%Y %H:%i:%s') as TIMESTAMP_X,
  11.                                 DATE_FORMAT(BS.DATE_CREATE, '%d.%m.%Y %H:%i:%s') as DATE_CREATE
  12.                         ,COUNT(DISTINCT BE.ID) as ELEMENT_CNT
  13.                                 FROM b_iblock_section BS
  14.                                         INNER JOIN b_iblock B ON BS.IBLOCK_ID = B.ID
  15.  
  16.                                         INNER JOIN b_iblock_section BSTEMP ON BSTEMP.IBLOCK_ID = BS.IBLOCK_ID
  17.                                                 LEFT JOIN b_iblock_section_element BSE ON BSE.IBLOCK_SECTION_ID=BSTEMP.ID
  18.                                         LEFT JOIN b_iblock_element BE ON (BSE.IBLOCK_ELEMENT_ID=BE.ID
  19.                                                 AND ((BE.WF_STATUS_ID=1 AND BE.WF_PARENT_ELEMENT_ID IS NULL )
  20.                                                 AND BE.IBLOCK_ID = BS.IBLOCK_ID
  21.                                 )
  22.                                 )
  23.  
  24.                                 WHERE 1=1
  25.                                         AND BSTEMP.IBLOCK_ID = BS.IBLOCK_ID
  26.                                                 AND BSTEMP.LEFT_MARGIN >= BS.LEFT_MARGIN
  27.                                                 AND BSTEMP.RIGHT_MARGIN <= BS.RIGHT_MARGIN
  28.  
  29.  
  30.  
  31.                                 AND  ((((
  32.                                         (upper(BS.NAME) like upper('%hp%') and BS.NAME is not null)
  33.                                          ))))
  34.                                 AND  ((((BS.IBLOCK_ID = '15'))))
  35.                                 AND  ((((BS.ACTIVE='Y'))))
  36.                                 AND  ((((B.ID = '15'))))
  37.                                 AND  ((((B.IBLOCK_TYPE_ID LIKE 'catalog'))))
  38.                                 AND  ((
  39.                                 B.ID IN (
  40.                         SELECT IBLOCK_ID
  41.                         FROM b_iblock_group IBG
  42.                         WHERE IBG.GROUP_ID IN (2)
  43.                         AND IBG.PERMISSION >= 'R'
  44.  
  45.                                 AND (IBG.PERMISSION='X' OR B.ACTIVE='Y')
  46.                         )
  47.                                 OR (B.RIGHTS_MODE = 'E' AND EXISTS (
  48.                                 SELECT SR.SECTION_ID
  49.                                 FROM b_iblock_section_right SR
  50.                                 INNER JOIN b_iblock_right IBR ON IBR.ID = SR.RIGHT_ID
  51.                                 INNER JOIN b_user_access UA ON UA.ACCESS_CODE = IBR.GROUP_CODE AND UA.USER_ID = 0
  52.                                 WHERE SR.SECTION_ID = BS.ID
  53.                                 AND IBR.OP_SREAD = 'Y'
  54.  
  55.                         ))
  56.                         ))
  57.                         GROUP BY BS.ID, B.ID
  58.                                 ORDER BY  BS.SORT desc;
  59. show profile for query 1;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement