Hello. I have query performance question.
I need to optimize procedure
CREATE PROCEDURE dbo.SECUQUSRCOM PACCES
@P1 VARCHAR(50),
@P2 INTEGER
AS
DECLARE @IORGANIZATIONI D INTEGER
EXECUTE dbo.ORGNQGETORG ID @PORGUNIQUEID = @IORGANIZATIONI D OUTPUT
SELECT TSECCOMP.ID,
CASE TSECPROFILEGRP. ACCESSTYPE
WHEN -1 THEN
CASE TSECCLASS.DEFAU LTACCESS
WHEN -1 THEN
CASE TSECGROUPCOMP.D EFAULTACCESS
WHEN -1 THEN
TSECCOMP.DEFAUL TACCESS
ELSE
TSECGROUPCOMP.D EFAULTACCESS
END
ELSE
TSECCLASS.DEFAU LTACCESS
END
ELSE TSECPROFILEGRP. ACCESSTYPE
END AS EXPR1
FROM TSECCOMP
INNER JOIN ((TSECPROFILE
INNER JOIN (TSECCLASS
INNER JOIN TSECPROFILEGRP
ON TSECCLASS.UNIQU EID = TSECPROFILEGRP. SECURITYGROUPID )
ON TSECPROFILE.UNI QUEID = TSECPROFILEGRP. PROFILEID) INNER JOIN
TSECGROUPCOMP ON TSECCLASS.UNIQU EID = TSECGROUPCOMP.S ECURITYGROUPID)
ON TSECCOMP.UNIQUE ID = TSECGROUPCOMP.S ECCOMPID
WHERE
(
CASE TSECPROFILEGRP. ACCESSTYPE
WHEN -1 THEN
CASE TSECCLASS.DEFAU LTACCESS
WHEN -1 THEN
CASE TSECGROUPCOMP.D EFAULTACCESS
WHEN -1 THEN
TSECCOMP.DEFAUL TACCESS
ELSE
TSECGROUPCOMP.D EFAULTACCESS
END
ELSE
TSECCLASS.DEFAU LTACCESS
END
ELSE TSECPROFILEGRP. ACCESSTYPE
END > 0 ) AND (TSECPROFILE.KE YVALUE=@P1) AND ( TSECCOMP.TYPE =@P2)
AND TSECCOMP.ORGANI ZATIONID = @IORGANIZATIONI D
GO
Thank you In advance.
I need to optimize procedure
CREATE PROCEDURE dbo.SECUQUSRCOM PACCES
@P1 VARCHAR(50),
@P2 INTEGER
AS
DECLARE @IORGANIZATIONI D INTEGER
EXECUTE dbo.ORGNQGETORG ID @PORGUNIQUEID = @IORGANIZATIONI D OUTPUT
SELECT TSECCOMP.ID,
CASE TSECPROFILEGRP. ACCESSTYPE
WHEN -1 THEN
CASE TSECCLASS.DEFAU LTACCESS
WHEN -1 THEN
CASE TSECGROUPCOMP.D EFAULTACCESS
WHEN -1 THEN
TSECCOMP.DEFAUL TACCESS
ELSE
TSECGROUPCOMP.D EFAULTACCESS
END
ELSE
TSECCLASS.DEFAU LTACCESS
END
ELSE TSECPROFILEGRP. ACCESSTYPE
END AS EXPR1
FROM TSECCOMP
INNER JOIN ((TSECPROFILE
INNER JOIN (TSECCLASS
INNER JOIN TSECPROFILEGRP
ON TSECCLASS.UNIQU EID = TSECPROFILEGRP. SECURITYGROUPID )
ON TSECPROFILE.UNI QUEID = TSECPROFILEGRP. PROFILEID) INNER JOIN
TSECGROUPCOMP ON TSECCLASS.UNIQU EID = TSECGROUPCOMP.S ECURITYGROUPID)
ON TSECCOMP.UNIQUE ID = TSECGROUPCOMP.S ECCOMPID
WHERE
(
CASE TSECPROFILEGRP. ACCESSTYPE
WHEN -1 THEN
CASE TSECCLASS.DEFAU LTACCESS
WHEN -1 THEN
CASE TSECGROUPCOMP.D EFAULTACCESS
WHEN -1 THEN
TSECCOMP.DEFAUL TACCESS
ELSE
TSECGROUPCOMP.D EFAULTACCESS
END
ELSE
TSECCLASS.DEFAU LTACCESS
END
ELSE TSECPROFILEGRP. ACCESSTYPE
END > 0 ) AND (TSECPROFILE.KE YVALUE=@P1) AND ( TSECCOMP.TYPE =@P2)
AND TSECCOMP.ORGANI ZATIONID = @IORGANIZATIONI D
GO
Thank you In advance.
Comment