Hi All
After applying Pacth 48 on Infra v8 we have painfully slow performance. In some cases when the users perform a search it takes almost up to 30 seconds to return values. Even running a query in SQL is very slow.
Has anyone encountered this before?
I'm having the DBA's look into the indexes on the DB.
Is there something I can do on an Application level to fix the issue. Was thinking of running the Upgrade Database function from withon the Server Console, as I thought that this might drop and re-create the indexes, and hopefully fix any broken/missing indexes, on the DB to improve performance.
Below a message I get from the server logs:
Message : Database PNPINFRA: Query CALL SEARCH BROWSE took 22750 milliseconds to execute.
SELECT
C.CALL_NUMBER,
AR_PRIMARY_ASSET.ASSET_REF,
SERVICE.ASSET_REF "SERVICE_NAME",
BUS_SERVICE.ASSET_REF "BUSINESS_SERVICE_NAME",
C.SHORT_PROBLEM,
C.TIMEDATE_CALL_LOG,
CL_IMPACT.NAME "IMPACT",
CL_URGENCY.NAME "URGENCY",
C.CALL_REF,
C.NEXT_ESC_TIME,
C.RESPONSE_ESC_TIME,
C.CHAR_1,
C.CHAR_2,
CASE WHEN C.PARENT_CHILD = 'P' THEN 'Parent' ELSE CASE WHEN C.LINKED_CALL_NO = 0 THEN 'No Link' ELSE 'Child of ' + CONVERT(VARCHAR, C.LINKED_CALL_NO) END END
"Link",
CL_PHYSICAL_STATUS.NAME "PHYSICAL_STATUS",
CL_CALL_STATUS.NAME "CALL_STATUS",
C.JOB_REF,
SU_CALL_PRIORITY.NAME "CALL_PRIORITY",
AR_CLIENT_COMPANY.CLIENT_CO_NAME,
CL_PROBLEM_TYPE.NAME_COMPOSITE,
AV_USER_ATTRIBUTES.FULL_NAME_TITLE "FULL_NAME",
AV_USER_ATTRIBUTES.TEL,
AV_USER_ATTRIBUTES.REF "*USER_REF",
C.TIME_LAST_ACTION,
C.SUSPEND_TIME,
C.REMIND_TIME,
AR_LOCATIONS.NAME,
CASE WHEN C.PHYSICAL_STATUS_REF = 5 OR C.PHYSICAL_STATUS_REF = 6 THEN
CASE WHEN H.REF <> 0 THEN H.FULL_NAME ELSE '(' + G.NAME + ')' END
ELSE
' '
END
"Forwarded_To",
J.FULL_NAME "Current",
CURG.NAME "CurrentGroup",
CASE WHEN ISNULL(Z.OUTAGE_COUNT,0) = 0 THEN 0 ELSE 65536 END
+ CASE WHEN C.PARENT_CHILD = 'C' AND C.LINKED_CALL_NO = 0 THEN 0
WHEN C.PARENT_CHILD = 'C' AND C.LINKED_CALL_NO <> 0 THEN 16384
WHEN C.PARENT_CHILD = 'P' AND C.LINKED_CALL_NO = 0 THEN 8192
ELSE 4096 END
+ CASE WHEN AR_VIP_STATUS.VIP_IND = 'Y' THEN 2097152 ELSE 0 END
+ C.INDICATORS*512 "INDICATORS",
I.NAME "IPK_STATUS_NAME",
CL_IPK_STREAM.NAME "IPK_STREAM_NAME",
CL_CALL_STATE.NAME "CALL_STATE",
AR_EXT_SERVICE_CO.NAME "SERVICE_PROVIDER",
AR_CONTRACTS.CO_CONTRACT_REF,
AR_PRIMARY_ASSET.MANU_SERIAL_NO,
AR_MANUFACTURER.NAME "MANUFACTURER",
AR_MODEL_TYPES.NAME "MODEL_TYPE",
AR_PRIM_ASSET_TYPE.NAME "ASSET_TYPE",
LO.FULL_NAME "LOGGING_OFFICER",
LG.NAME "LOGGING_GROUP",
CASE WHEN C.OPEN_FLAG = 1 THEN '' ELSE RO.FULL_NAME END "Resolving Officer",
CASE WHEN C.OPEN_FLAG = 1 THEN '' ELSE RG.NAME END "Resolving Group",
CASE WHEN C.OPEN_FLAG = 0 OR C.OPEN_FLAG = 4 THEN CO.FULL_NAME END "Closing Officer",
CASE WHEN C.OPEN_FLAG = 0 OR C.OPEN_FLAG = 4 THEN CG.NAME ELSE '' END "Closing Group",
CASE WHEN C.RECV_OFFICER_REF = 0 THEN '' ELSE H.FULL_NAME END "Forwarded_To_Officer",
CASE WHEN C.RECV_OFFICER_REF = 0 AND (C.PHYSICAL_STATUS_REF = 5 OR C.PHYSICAL_STATUS_REF = 6) THEN G.NAME ELSE '' END
"Forwarded_To_Group",
C.SLA_DISPLAY "!SLA_SLA_DISPLAY",
C.SLA_RESP_DISPLAY "!SLA_RESP_DISPLAY",
C.SLA_FC_DISPLAY "!SLA_FC_DISPLAY",
C.OLA_DISPLAY "!SLA_OLA_DISPLAY",
C.UC_DISPLAY "!SLA_UC_DISPLAY",
C.SHORT_WORKAROUND "WORKAROUND_DESC",
IN_SYS_SOURCE.NAME "SOURCE_NAME",
AR_VIP_STATUS.NAME "VIP_STATUS",
C.CLIENT_COMPANY_REF "*CLIENT_CO_REF",
C.REF_COMPOSITE "*REF_COMPOSITE",
C.LOCATION_REF "*LOCATION_REF",
C.OFFICER_REF "*OFFICER_REF",
C.CALL_PRIORITY "*PRIORITY_REF",
C.RECV_OFFICER_REF "*RECV_OFFICER_REF",
C.RECV_GROUP_REF "*RECV_GROUP_REF",
C.OPEN_FLAG "*OPEN_FLAG",
C.IPK_STATUS_REF "*IPK_STATUS_REF",
C.ITEM_REF "*ITEM_REF",
C.PHYSICAL_STATUS_REF "*PHYSICAL_STATUS_REF",
C.CALL_STATUS_REF "*STATUS_REF",
C.SERVICE_REF "*SERVICE_REF",
C.BUSINESS_SERVICE_REF "*BUSINESS_SERVICE_REF",
SU_CALL_PRIORITY.ORDER_NO "*PRIORITY_ORDER",
LO.REF "*LOGGING_OFFICER_REF",
CASE WHEN C.PHYSICAL_STATUS_REF = 4 THEN C.CALL_STATUS_REF + 20000 ELSE C.PHYSICAL_STATUS_REF END
"*PHYSICAL_STATUS_REF_COLOR"
FROM
CL_CALL_LOGGING C with (nolock)
INNER JOIN AR_PRIMARY_ASSET with (nolock) ON C.ITEM_REF = AR_PRIMARY_ASSET.ITEM_REF
INNER JOIN AR_PRIMARY_ASSET SERVICE with (nolock) ON C.SERVICE_REF = SERVICE.ITEM_REF
INNER JOIN AR_PRIMARY_ASSET BUS_SERVICE with (nolock) ON C.BUSINESS_SERVICE_REF = BUS_SERVICE.ITEM_REF
LEFT OUTER JOIN
(
SELECT ENTITY_REF, COUNT(AM_OUTAGE_LINK.OUTAGE_REF) OUTAGE_COUNT
FROM AM_OUTAGE_LINK with (nolock) INNER JOIN AM_OUTAGE with (nolock) ON AM_OUTAGE_LINK.OUTAGE_REF = AM_OUTAGE.OUTAGE_REF
WHERE AM_OUTAGE_LINK.ENTITY = 'CL_CALL_LOGGING' AND OPEN_FLAG = 1 AND
AM_OUTAGE.OUTAGE_START <= { ts '2013-04-25 15:18:54'}
AND (AM_OUTAGE.OUTAGE_END IS NULL OR AM_OUTAGE.OUTAGE_END > { ts '2013-04-25 15:18:54'})
GROUP BY ENTITY_REF
) Z ON Z.ENTITY_REF = C.CALL_NUMBER,
CL_PHYSICAL_STATUS with (nolock),
CL_CALL_STATUS with (nolock),
SU_CALL_PRIORITY with (nolock),
AR_CLIENT_COMPANY with (nolock),
CL_PROBLEM_TYPE with (nolock),
AR_LOCATIONS with (nolock),
AV_USER_ATTRIBUTES with (nolock),
AR_VIP_STATUS with (nolock),
SV_HELP_CENTRE_NAME H with (nolock),
SU_SUPPORT_GROUP G with (nolock),
SV_HELP_CENTRE_NAME J with (nolock),
SU_SUPPORT_GROUP CURG with (nolock),
CL_IPK_STATUS I with (nolock),
CL_IPK_CLASS IC with (nolock),
CL_IPK_STREAM with (nolock),
CL_IMPACT with (nolock),
CL_URGENCY with (nolock),
CL_CALL_STATE with (nolock),
AR_EXT_SERVICE_CO with (nolock),
AR_CONTRACTS with (nolock),
AR_MANUFACTURER with (nolock),
AR_MODEL_TYPES with (nolock),
AR_PRIM_ASSET_TYPE with (nolock),
SV_HELP_CENTRE_NAME LO with (nolock),
SU_SUPPORT_GROUP LG with (nolock),
SV_HELP_CENTRE_NAME RO with (nolock),
SU_SUPPORT_GROUP RG with (nolock),
SV_HELP_CENTRE_NAME CO with (nolock),
SU_SUPPORT_GROUP CG with (nolock),
SU_SUPPORT_GROUP AG with (nolock),
IN_SYS_SOURCE with (nolock)
WHERE CL_PHYSICAL_STATUS.REF = C.PHYSICAL_STATUS_REF
AND CL_CALL_STATUS.REF = C.CALL_STATUS_REF
AND C.OPEN_FLAG <> -1
AND SU_CALL_PRIORITY.REF = C.CALL_PRIORITY
AND AR_PRIMARY_ASSET.MANUFACTURER_REF = AR_MANUFACTURER.REF
AND AR_PRIMARY_ASSET.MODEL_TYPE_REF = AR_MODEL_TYPES.REF
AND AR_PRIMARY_ASSET.ASSET_TYPE_REF = AR_PRIM_ASSET_TYPE.REF
AND AR_CLIENT_COMPANY.CLIENT_CO_REF = C.CLIENT_COMPANY_REF
AND C.REF_COMPOSITE = CL_PROBLEM_TYPE.REF_COMPOSITE
AND C.USER_REF = AV_USER_ATTRIBUTES.REF
AND C.RECV_GROUP_REF = G.REF
AND C.RECV_OFFICER_REF = H.REF
AND C.OFFICER_REF = J.REF
AND C.LOCATION_REF = AR_LOCATIONS.LOCATION_REF
AND C.IPK_STATUS_REF = I.REF
AND IC.REF = I.IPK_CLASS_REF
AND C.IPK_STREAM_REF = CL_IPK_STREAM.REF
AND C.CURRENT_GROUP = CURG.REF
AND C.IMPACT_REF = CL_IMPACT.REF
AND C.URGENCY_REF = CL_URGENCY.REF
AND C.OPEN_FLAG = CL_CALL_STATE.REF
AND C.EXT_COMPANY_REF = AR_EXT_SERVICE_CO.REF
AND C.CONTRACT_REF = AR_CONTRACTS.REF
AND C.OWNING_OFFICER = LO.REF
AND C.OWNING_GROUP = LG.REF
AND C.RESOLVE_OFFICER = RO.REF
AND C.RESOLVE_GROUP = RG.REF
AND C.CLOSE_OFFICER = CO.REF
AND C.CLOSE_GROUP = CG.REF
AND C.ASSIGN_GROUP = AG.REF
AND C.SOURCE = IN_SYS_SOURCE.REF
AND AV_USER_ATTRIBUTES.VIP_STATUS_REF = AR_VIP_STATUS.REF
AND C.REF_COMPOSITE_S = 1372
AND C.OPEN_FLAG IN (0)
AND C.KNOWLEDGE_FLAG > 0