Re: Core Data performance advice... creating relationships.
Re: Core Data performance advice... creating relationships.
- Subject: Re: Core Data performance advice... creating relationships.
- From: Martin Linklater <email@hidden>
- Date: Tue, 15 Jan 2008 02:31:16 -0800
On Tuesday, January 15, 2008, at 09:56AM, "Chris Hanson" <email@hidden> wrote:
>On Jan 14, 2008, at 1:43 PM, Martin Linklater wrote:
>What is this "common 'ID' integer" -- is it a critical part of the
>model for your data, or is it something that you just thought you
>should put in due to your experience with other frameworks?
The data model is not mine. It is the SQL data dump for the game 'Eve Online'. Details can be found here:
http://games.chruker.dk/eve_online/datadump.php
The ID numbers are simply how the data dump defines it's cross-entity linkage. I have not created them at all - I'm just using the data I'm provided with. I'm creating the relationships to replace having to explicitly fetch based on ID matches. I'm going to have to have a good think about whether I can eliminate the ID numbers from the import though - the data dependencies are pretty complex.
>If it's something you can possibly avoid having in your data model, do
>so. Core Data's relationship management handles things like object
>IDs for you. Maintaining your own parallel IDs is just duplicating
>work, in a way that's almost guaranteed to be sub-optimal.
Understood - I will be looking at getting rid of redundancies soon.
>
>That fetch request has to perform a full table scan for the instances
>(not "entities") of Bar whose ID property equals x, because unless
>you've told it to do so in your data model (and you're running
>Leopard), it won't know to create an index on that property.
BINGO. I set the ID attributes to be indexed and it's going MUCH faster now. Don't I feel like an idiot. Is this 'indexed' flag documented at all ? I've had a good look at the docs and it doesn't stand out to me... but I'm probalby missing something.
>Can you explain what your data model is in slightly more concrete
>terms than you have so far? I think that'll ultimately help clarify a
>lot.
See the above hyperlink.
Thanks for your suggestions Chris. Much appreciated !
Cheers.
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden