2011-08-08 42 views
6

不爲Core Data屬性建立索引的原因是什麼?據我所知,可搜索的屬性應該被索引,如果它有助於性能。如果是這樣,爲什麼不是所有的東西都會自動索引爲「內部」?爲什麼我必須打開/關閉適用的屬性,以及不索引屬性的原因是什麼?如果它沒有被自動應用到所有的東西上,那肯定是有原因的。那可能是什麼?不使Core Data屬性編入索引的原因是什麼?

回答

6

索引不是免費的。每個額外的索引都會增加核心數據存儲的大小,並且使實體保存時間稍長一些。因此,如果一個給定屬性的索引永遠不會被使用,或者它的使用很少,以至於從索引中獲得的性能獎勵並不顯着,那麼在沒有索引的情況下,性能(和存儲使用率)實際上會更好。

相關問題