Klar. Ich empfehle dir einige Artikel, die sich mit Abfrageoptimierung
befassen.
Allerdings kann sowas ganz schon Anstrengend sein. Hier ein Beispiel wie ich
(auch fur ein Menue) das Caching vorbereite (generiert).:

SELECT ID, Label FROM ECRight WHERE ApplicationID IS NULL Or
ApplicationID='{DDDB634B-D978-4721-A73B-20EEFBE036F6}'
Query (execute): INSERT INTO ECTreeTemp SELECT
('{72C2AC75-9320-4B06-83D8-0EA8C8A1C07E}') AS TreeID, (2) AS UserID,
[ToSee].[ID], [ToSee].[ID] AS LinkID FROM (SELECT EC1CMSPage.ID AS [ID] FROM
( ( SELECT RightToSee1InContext.ContentID AS ContentID FROM((SELECT
HasRight.ContentID FROM (SELECT ECGroup2Content.ECContentID AS ContentID
FROM ECGroup2Content INNER JOIN ECUser2Group ON  ECUser2Group.ECGroupID =
ECGroup2Content.ECGroupID WHERE ECGroup2Content.ECRightID =1  AND
ECUser2Group.ECUserID=2 GROUP BY ECGroup2Content.ECContentID UNION SELECT
ECUser2Content.ECContentID AS ContentID FROM ECUser2Content WHERE
ECUser2Content.ECUserID=2 AND ECUser2Content.ECRightID = 1 GROUP By
ECUser2Content.ECContentID ) HasRight LEFT JOIN (SELECT
ECGroupNonContent.ECContentID AS NonContentID FROM ECGroupNonContent INNER
JOIN ECUser2Group ON  ECUser2Group.ECGroupID = ECGroupNonContent.ECGroupID
WHERE ECGroupNonContent.ECRightID =1  AND ECUser2Group.ECUserID=2 GROUP BY
ECGroupNonContent.ECContentID UNION SELECT ECUserNonContent.ECContentID AS
NonContentID FROM ECUserNonContent WHERE ECUserNonContent.ECRightID =1 AND
ECUserNonContent.ECUserID=2 GROUP BY ECUserNonContent.ECContentID)
NotHasRight ON HasRight.ContentID = NotHasRight.NonContentID WHERE
NotHasRight.NonContentID IS NULL) RightToSee1InContext  INNER JOIN (SELECT
HasRight.ContentID FROM (SELECT ECGroup2Content.ECContentID AS ContentID
FROM ECGroup2Content INNER JOIN ECUser2Group ON  ECUser2Group.ECGroupID =
ECGroup2Content.ECGroupID WHERE ECGroup2Content.ECRightID =5  AND
ECUser2Group.ECUserID=2 GROUP BY ECGroup2Content.ECContentID UNION SELECT
ECUser2Content.ECContentID AS ContentID FROM ECUser2Content WHERE
ECUser2Content.ECUserID=2 AND ECUser2Content.ECRightID = 5 GROUP By
ECUser2Content.ECContentID ) HasRight LEFT JOIN (SELECT
ECGroupNonContent.ECContentID AS NonContentID FROM ECGroupNonContent INNER
JOIN ECUser2Group ON  ECUser2Group.ECGroupID = ECGroupNonContent.ECGroupID
WHERE ECGroupNonContent.ECRightID =5  AND ECUser2Group.ECUserID=2 GROUP BY
ECGroupNonContent.ECContentID UNION SELECT ECUserNonContent.ECContentID AS
NonContentID FROM ECUserNonContent WHERE ECUserNonContent.ECRightID =5 AND
ECUserNonContent.ECUserID=2 GROUP BY ECUserNonContent.ECContentID)
NotHasRight ON HasRight.ContentID = NotHasRight.NonContentID WHERE
NotHasRight.NonContentID IS NULL) RightToSee2InContext  ON
RightToSee2InContext.ContentID = RightToSee1InContext.ContentID)) RightToSee
INNER JOIN ECContent ON ECContent.ID = RightToSee.ContentID )  INNER JOIN
EC1CMSPage ON ECContent.InternalID =  EC1CMSPage.ContentID WHERE
ECContent.ApplicationID='{DDDB634B-D978-4721-A73B-20EEFBE036F6}') toSee

> -----Ursprungliche Nachricht-----
> Von: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] Auftrag von Christoph Schmid
> Gesendet: Dienstag, 7. Oktober 2003 21:37
> An: [EMAIL PROTECTED]
> Betreff: Re: AW: AW: AW: [Coffeehouse] Frage zu Stored Procedure
>
>
>
> >Macht ja nichts, so lange sich alles auf dem (SQL)Server abspielt
> >
> >
> >
> Schon? Ist er auch mit x verjointen Tabellen so schnell?
>
>
>
> _______________________________________________
> Coffeehouse mailing list
> [EMAIL PROTECTED]
> http://www.glengamoi.com/mailman/listinfo/coffeehouse

_______________________________________________
Coffeehouse mailing list
[EMAIL PROTECTED]
http://www.glengamoi.com/mailman/listinfo/coffeehouse

Antwort per Email an