In case you have your own slow SQL query, you can optimize it automatically here.
For the query above, the following recommendations will be helpful as part of the SQL tuning process.
You'll find 3 sections below:
ALTER TABLE `CMS_Correspondence_Primary` ADD INDEX `cms_primary_idx_field12_1_field0_field1_1` (`Field12_1`,`Field0`,`Field1_1`);
ALTER TABLE `Items` ADD INDEX `items_idx_itemid_status` (`ItemId`,`Status`);
ALTER TABLE `Links` ADD INDEX `links_idx_parenttype_parentid` (`ParentType`,`ParentId`);
SELECT
SHOWN0,
SHOWN1,
LVL_1,
LVL_2,
LVL_3,
LVL_4
FROM
(SELECT
CMS_Correspondence_Primary.Field0 SHOWN0,
CMS_Correspondence_Primary.Field1_1 SHOWN1,
(SELECT
L.LEVEL
FROM
Links L
WHERE
L.ParentType = 1
AND L.ParentId = 'UG205' START WITH L.ItemId = Items.ItemId CONNECT
BY
L.ItemId = PRIOR L.ParentId
AND PRIOR L.ParentType = 2) LVL_1,
(SELECT
L.LEVEL
FROM
Links L
WHERE
L.ParentType = 1
AND L.ParentId = 'UG206' START WITH L.ItemId = Items.ItemId CONNECT
BY
L.ItemId = PRIOR L.ParentId
AND PRIOR L.ParentType = 2) LVL_2,
(SELECT
L.LEVEL
FROM
Links L
WHERE
L.ParentType = 1
AND L.ParentId = 'UG230' START WITH L.ItemId = Items.ItemId CONNECT
BY
L.ItemId = PRIOR L.ParentId
AND PRIOR L.ParentType = 2) LVL_3,
(SELECT
L.LEVEL
FROM
Links L
WHERE
L.ParentType = 1
AND L.ParentId = 'UG281' START WITH L.ItemId = Items.ItemId CONNECT
BY
L.ItemId = PRIOR L.ParentId
AND PRIOR L.ParentType = 2) LVL_4
FROM
Items,
CMS_Correspondence_Primary
WHERE
(
(
(
UPPER(CMS_Correspondence_Primary.Field1_1) LIKE UPPER('%abc%')
AND CMS_Correspondence_Primary.Field1_1 IS NOT NULL
)
)
AND (
(
CMS_Correspondence_Primary.Field12_1 = 210
)
AND (
1 = 1
)
AND (
1 = 1
)
AND (
1 = 1
)
AND (
1 = 1
)
)
)
AND (
Items.Status <> 1
)
AND (
Items.ItemId = CMS_Correspondence_Primary.Field0
)
) INNER_QUERY
WHERE
LVL_1 IS NULL
AND LVL_2 IS NULL
AND LVL_3 IS NULL
AND LVL_4 IS NULL