1 Reply Latest reply on Apr 29, 2009 10:24 AM by Stu McNeill

    What is the impact of selecting Yes .vs. No

    Apprentice

      When creating a category, and you drag the category object onto the object that the category relates to, what is the impact of selecting 'yes' .vs. 'No' to the question 'A relationship has been created...".

      Seems to me, if you select 'Yes' in the wrong situation you can end up with a very negative impact on your databases's performance?

        • 1. Re: What is the impact of selecting Yes .vs. No
          Stu McNeill Employee

          Hi Sara,

           

          A question very close to my heart this one!  Right....

           

          Say you create a category and drag this onto Incident.  On the "create a relationship back to Incident..." dialog if you press No:

           

          The one-to-one relationship on Incident is created but there is nothing created on the category object.  This is good.

           

          If you press Yes:

           

          A collection of Incident is created on the category object as well as the one-to-one relationship on Inicdent.  The category can still be referenced from incidents in the same way however there is a link back to incident.

           

          Then whenever a category item is loaded (selected from a dropdown, loaded as part of loading an existing incident, viewing via Administration) the collection of Incident is also loaded and so the data of any incident that has used that category before gets loaded too.  The data isn't displayed anywhere or needed for anything but is loaded as part of the category item.  If there are hundreds of incidents logged with the same category item specified then those hundreds of incidents will be loaded whenever you select that category item again on a new incident.

           

          As well as lookup objects from processes the other place this is a major problem is on the Group and User object.  If you create a collection object (for example an Internal Note collection for incidents) and you add User and Group to the Internal Note object for create user/group auditing and press Yes on the dialog then everytime the user or group is referenced all the Internal Notes that user or group created will get loaded.  Fact: The current User and Group are referenced a LOT, for example pressing New Incident and the creation user/group fields are populated.

           

          The problem manefests itself in poor performance while all the extra data is loaded, eventually leading to so much data being loaded it goes past the 4MB limit and you get Maximum Request Length Exceeded errors and you can't log any incidents anymore against certain categories or for certain users/groups.

           

          Hope that helps, sorry it turned into a much longer rant than I was expecting!!