• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Core Data: different fetch performance when launching app
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Core Data: different fetch performance when launching app


  • Subject: Re: Core Data: different fetch performance when launching app
  • From: Ruslan Zasukhin <email@hidden>
  • Date: Sat, 14 Oct 2006 15:23:01 +0300
  • Thread-topic: Core Data: different fetch performance when launching app

On 10/14/06 2:26 PM, "Jakob Olesen" <email@hidden> wrote:

Hi All,

> There are several ways you can speed up your initial query:
>
> 1. Break up your inheritance hierarchy, so you get more tables. If
> your Catalog instances are in a smaller table, you get them faster.
>
> 2. Use a relationship to fetch the Catalog instances. Relationships
> are indexed, so you avoid the full table scan.
>
> 3. Force the kernel to cache your database file by reading it
> sequentially before the fetch.
>
> If your Catalog instances are tree roots with a null parentItem, try
> using that in your fetch predicate: "parentItem=nil". Since
> parentItem is a relationship, it is indexed, and you avoid the full
> table scan. That is the simplest solution (if it works...)

I always have wonder to such advices.

While CoreData is intended to "simplify" job of developer,
letters on this list show that developers quite often are forced:

a) learn deeply internal structure of CoreData
b) learn not easy tricks & tips how to fight with simple problems.
c) spend time and efforts to redesign their SIMPLE db structure to something
complex to satisfy logic of CoreData
D) etc

Diederik, have ONE table, with only 30K records and *tiny* db file.
On powerful modern MACs it takes 2-20 seconds to work?
Guys, open that file in HexEdit - it will scan it in no time.

If a technology is not able to handle such EASY db structure
and such small amount of data then is it good?

P.S. This is why I do not think that OO DBMS/Layers is a good way.
This is why we push our own database Valentina into OR hybrid way to get
best of both ... no ... of FEW worlds.

P.S.2. no need to start religious wars here :-)
    Just express my opinion about "easy for use" technologies
    that require long time of deep learning...

For example it was fun to see in .NET 2.0 Garbage collection manager that
simplify developer job, only you must remember:

1) .....
2) .....
3) .....
4) .....
5) .....
6) .....
7) .....
8) .....
9) .....
.....


--
Best regards,

Ruslan Zasukhin
VP Engineering and New Technology
Paradigma Software, Inc

Valentina - Joining Worlds of Information
http://www.paradigmasoft.com

[I feel the need: the need for speed]


 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: Core Data: different fetch performance when launching app
      • From: Scott Stevenson <email@hidden>
References: 
 >Re: Core Data: different fetch performance when launching app (From: Jakob Olesen <email@hidden>)

  • Prev by Date: Checking for internet connection?
  • Next by Date: Re: Checking for internet connection?
  • Previous by thread: Re: Core Data: different fetch performance when launching app
  • Next by thread: Re: Core Data: different fetch performance when launching app
  • Index(es):
    • Date
    • Thread