Ich habe heute begonnen, Entitätsvererbung mit Kerndaten zu verwenden. Hat jemand Erfahrung mit dieser Funktion? Ich sehe, dass alle meine Entitäten, die eine übergeordnete Entität haben, jetzt in eine große Tabelle umgewandelt wurden, wenn ich die Sqlite-Datei öffne. Ich mache mir Sorgen um die Leistung und die Tabellensperren. Kann mir jemand seine Erfahrungen mitteilen?
Antworten
Zu viele Anzeigen?Der Reverend,
Ihr Schema kann sich zwar erheblich auf Ihre Leistung auswirken, aber das Hinzufügen von Spalten zu Zeilen in einer Tabelle ist nicht Ihr Leistungsproblem. Das Durchlaufen komplexer Beziehungen und die Verwaltung großer BLOBs ist Ihr Leistungsproblem.
Ja, ich verwende die Entitätsvererbung. Ja, sie ist schnell. Ja, sie hat es mir ermöglicht, ein vernünftiges Modell zu erstellen. Abgesehen davon ist die konventionelle OOP-Weisheit heutzutage, die Tiefe der Vererbungshierarchien zu begrenzen. Das ist wahrscheinlich eine gute Idee, wenn man Core Data verwendet. Die Komposition von Objekten/Entitäten ist Ihr Freund.
Andrew
Ihre Besorgnis ist gerechtfertigt. Je nach Anzahl der Entitäten und Felder kann sich die Leistung merklich verschlechtern, wenn Sie mehr als ein paar tausend verwaltete Objekte haben.
Auch andere hatten dieses Problem: Kerndatenleistung mit alleiniger Muttergesellschaft