Re: SELECT statement on relationship binding
Remove the inverse relationship. Mark -- Dr. Mark Wardle Specialist registrar, Neurology (Sent from my mobile) On 23 Jan 2011, at 22:05, Tarun Reddy wrote: So I've got a situation where I'm seeing a SELECT that will eventually kill my performance and want to see if I can fix it before my site goes live. My EOModel has an object called a Landing and an object called a SiteDefinition. The SiteDefinition defines what the site looks like and the Landing represents a user landing on the site. When a user comes to the site, I create a Landing and associate it with the SiteDefinition so that I can capture what site a user sees and what users were on a site. SiteDefinition to many Landings When I add the relationship using this: aLanding.setSiteDefinitionRelationship(getSiteDefinition()); WebObjects decides it needs to select all Landings where the siteDefinitionID equals the one I'm assigning. This is fine in dev where I may only have 17 records but eventually I may have 10s of thousands of records. Is this my EOModel, and if so how can I prevent it? Thank you, Tarun ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/mark%40wardle.org This email sent to m...@wardle.org ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: SELECT statement on relationship binding
On Jan 23, 2011, at 2:04 PM, Tarun Reddy wrote: > So I've got a situation where I'm seeing a SELECT that will eventually kill > my performance and want to see if I can fix it before my site goes live. > > My EOModel has an object called a Landing and an object called a > SiteDefinition. The SiteDefinition defines what the site looks like and the > Landing represents a user landing on the site. When a user comes to the site, > I create a Landing and associate it with the SiteDefinition so that I can > capture what site a user sees and what users were on a site. > > SiteDefinition to many Landings > > When I add the relationship using this: > aLanding.setSiteDefinitionRelationship(getSiteDefinition()); > > WebObjects decides it needs to select all Landings where the siteDefinitionID > equals the one I'm assigning. This is fine in dev where I may only have 17 > records but eventually I may have 10s of thousands of records. > > Is this my EOModel, and if so how can I prevent it? > > Thank you, > Tarun I think you want to look at the documentation on faulting and/or pre-fetching. EOF will optimize certain operations by pre-fetching data or setting up faults, which are place-holder objects for EOs. It is not all that common to edit EOModel objects dynamically. I suspect that when you create this relationship, it uses the most conservative faulting strategy it has, and so fetches a lot of stuff immediately. You may also find the behavior changes if there is or is not an inverse relationship and different things about how the inverse relationship is set up will change things. For example, look in the javadoc for EORelationship. You will see methods such as numberOfToManyFaultsToBatchFetch(), inverseRelationship(), and ownsDestination(). See also the prefetchingRelationshipKeyPaths() method in EOFetchSpecification. These may not be exactly what you need but they will probably get you started. Also, do you need to create your relationship dynamically in this way? There may be a better way to set up the relationship so that you do not have to do this. cheers - ray ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: SELECT statement on relationship binding
Hi Tarun; Large to-many can be trouble for the reason that you have identified. I tend to omit those from the model, leaving the to-one relationship in place. EOF allows this because the relationships are not automatically reflexive. In this I mean that the to-one and to-many relationships are modelled separately and you can just remove the to-many one for the large relationship. cheers. On 24/01/11 11:04 AM, Tarun Reddy wrote: So I've got a situation where I'm seeing a SELECT that will eventually kill my performance and want to see if I can fix it before my site goes live. My EOModel has an object called a Landing and an object called a SiteDefinition. The SiteDefinition defines what the site looks like and the Landing represents a user landing on the site. When a user comes to the site, I create a Landing and associate it with the SiteDefinition so that I can capture what site a user sees and what users were on a site. SiteDefinition to many Landings When I add the relationship using this: aLanding.setSiteDefinitionRelationship(getSiteDefinition()); WebObjects decides it needs to select all Landings where the siteDefinitionID equals the one I'm assigning. This is fine in dev where I may only have 17 records but eventually I may have 10s of thousands of records. Is this my EOModel, and if so how can I prevent it? Thank you, Tarun ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/apl%40lindesay.co.nz This email sent to a...@lindesay.co.nz -- Andrew Lindesay www.silvereye.co.nz ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
SELECT statement on relationship binding
So I've got a situation where I'm seeing a SELECT that will eventually kill my performance and want to see if I can fix it before my site goes live. My EOModel has an object called a Landing and an object called a SiteDefinition. The SiteDefinition defines what the site looks like and the Landing represents a user landing on the site. When a user comes to the site, I create a Landing and associate it with the SiteDefinition so that I can capture what site a user sees and what users were on a site. SiteDefinition to many Landings When I add the relationship using this: aLanding.setSiteDefinitionRelationship(getSiteDefinition()); WebObjects decides it needs to select all Landings where the siteDefinitionID equals the one I'm assigning. This is fine in dev where I may only have 17 records but eventually I may have 10s of thousands of records. Is this my EOModel, and if so how can I prevent it? Thank you, Tarun ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
WOWODC 2011 news and community membership!
Hello everyone, Well finally, the Community Membership program is open! By becoming a paid community member, you are helping us building a stronger community and the money raised from membership will be use to pay hosting fees and other activities (for example, having a WebEx channel for presentations about WebObjects). And you also get access to past and future WOWODC content, for example if you become a member now, you get the recordings from WOWODC 2010 AND WOWODC 2011! Community Membership is $150 for a Personal Membership, $300 for Corporate Membership and it's free for students! Community members also get a $115 discount for one WOWODC 2011 ticket when we open up registration for WOWODC 2011. For registering, log to the WO Community app at: https://wocommunity.org/account And go to the Community Store to buy your membership. If you came to WOWODC 2010, you automatically became a personal member, your membership will expire on June 30th 2011. Take notice that you won't get the $115 discount unless you renew your membership before May 15th. Now, about WOWODC 2011. As you already know, it will be in Montreal again, on July 1-2-3. Pricing will be the following: Early registration Regular Up to May 16th 2011 May 17th to June 22 - Individual ticket:$465 USD $575 USD - Group of two (per ticket):$430 USD $540 USD - Group of three (per ticket): $400 USD $510 USD - Group of four (per ticket): $365 USD $465 USD - Group of 5+ (per ticket): $320 USD $435 USD - Student $200 USD $300 USD Registration will open soon, but you can already book your room at the hotel, check the details at: http://www.wocommunity.org/wowodc11/lodging.html ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com