2012-04-07 15 views
0

In meiner App verwende ich eine statische Datenbank, um alle Landkreise und Zensusgebiete mit den Staaten und Territorien der USA zu speichern. Dies wird von der Regierung alle 10 Jahre aktualisiert. Ich benutze es, um innerhalb einer Grafschaft zu suchen, aber es gibt mehrere Landkreise mit demselben Namen, also muss ein Staat oder Gebiet zuerst ausgewählt werden, dann wählen sie die Grafschaft innerhalb aus. Meine Frage ist, dass ich diese Daten derzeit in einer SQLite-Datenbank habe, ist das die effizienteste oder sollte ich Kerndaten verwenden? Es sind 3600 Zeilen mit 4 Elementen in jeder Zeile. Ich möchte nur, dass es die effizienteste Art ist, die Daten zu speichern und zu lesen. Es wird nicht geschrieben werden. Also, was soll ich wählen, ich bin offen für andere als die beiden, die ich erwähnt habe.Welcher Dateityp ist der beste?

Antwort

0

für Sie Fall:

Kerndaten:

flexibler

  • (+) es ist ein ORM (ein großes Plus So können Sie Methoden, um Ihre Datenmodelle oder zu speichern ganze hinzuzufügen! Objekt-Bäume mit einem Befehl)
  • (+) besser in XCode integriert
  • (+) kann leicht Griff Migration des Datenschemas
  • (-) Leistung (in Ihrem Fall 3600records nur eine Tabelle)

sqlite:

  • (+) -leistung
  • (-) nur C-Bindungen (oder Sie benötigen ein Rahmen)

und nicht vergessen, CoreData ist eine weitere Schicht auf der Oberseite von SQLite. Also, es ist nicht so einfach, diese beiden Dinge zu vergleichen.

+0

Die Con nur C-Bindungen rutschte mir durch den Kopf. Danke für das Für und Wider – Crask422

0

Kerndaten sind keine Datenbank, sondern ein Objektmodell, das auf einer Datenbank basiert, die SQLite sein kann (oder auch nicht).

Die Verwendung von CoreData müsste alle Ihre Abfragen in Ihrer App neu erstellen. Du verwendest eine ziemlich kleine und statische Datenbank, die, denke ich, gut funktioniert. Warum willst du dich ändern? Tritt bei Ihrer App Geschwindigkeitsprobleme auf (in diesem Fall richten Sie einen Index für Ihre Spalten ein)? Was auch immer Ihre Wahl sein mag, ich wette, Sie werden keine Verbesserung von einer Datenbank zu einer anderen mit einer so einfachen und kleinen Datenbank bemerken.

Sie können this answer über CoreData betrachten.

+0

Ich habe keine Probleme, aber das bedeutet nicht meine Auswahl war richtig oder die effizienteste. Ich möchte nur, dass es sauber ist und dachte, ich würde ein paar Meinungen bekommen. Kein Problem bei der Änderung der Codierung, will nur effizient sein, wenn Apple es überprüft. – Crask422

+0

Apple schaut sich Ihren Quellcode nicht an und er schaut nicht auf die Low-Level-Details wie SQLite oder Core Data. Sie werden Ihnen nicht extra Kredit geben, wenn Sie extra schnellen Code schreiben. Sie kümmern sich mehr darum, was Endbenutzer sehen. –

Verwandte Themen