2016-03-10 30 views
10

(tarihlerine göre kayıtları görüntüleme) CoreData örneğini destek verdi. O endeksleme sorgu süresinin artırılmasına yardımcı olabilir biliyorum ama arasındaki fark budur: Burada görüldüğü gibi daha sonra endeksler alanına niteliklerin virgülle ayrılmış listesi ekleyerek, bir öznitelik ait varlık vurgulamaCoreData. Dizinler ve dizinlenmiş arasındaki fark nedir? Benim SQL sorguları hızlandırmak için arıyorum

:

enter image description here

Ya burada görüldüğü gibi daha sonra endeksli kutuyu, niteliğini vurgulayarak:

enter image description here

+1

buradan fikir edinebilirsiniz [ http://stackoverflow.com/questions/8562711/what-are-indexes-in-the-xcode-core-data-data-model-inspector] –

cevap

8

tek attrib ile bir satır ekleme Indexes listeye Ute o özellik için Indexed seçerek eşdeğerdir: Bu özellik sorgu tablolara aramaları hızlandırmak için bir dizin oluşturur.

Indexes listesi, bileşik dizinleri için kullanılır.

SELECT * FROM customer WHERE surname = "Doe" AND firstname = "Joe"; 

Bu ifade bir bileşik endeksi surname, firstname faydalanmak olabilir: Eğer bir sorgunun WHERE maddesi kombine bu özelliklerin değerleri ararken olacak bildiğinde Bileşik endeksleri yararlıdır. Sadece surname için arama yaparsanız, ancak yalnızca firstname aramak değilse o indeks de faydalı olacaktır. İndeksi bir telefon defteriymiş gibi düşünün: Önce soyadı, sonra da ilk isme göre sıralanır. Yani niteliklerin sırası önemlidir. Senin durumunda

sen (yani, aramak ister öznitelikler için Indexed seçmektir) İlk single endeksler için gitmek gerekir. Gösterdiğiniz bileşik endeksi, örneğin sadece babyId için arama yaparsanız asla kullanılamaz.

+0

kodundan bileşik endeksleri ayarı için, ayrıca (çakışan) cevabı http: //stackoverflow.com/a/8657785/3419541 – PDK

+0

Merhaba, yeni sürümü Xcode index özelliğini bulamadığında i tablo için dizin eklemek nasıl. – taitanxiami

+1

@taitanxiami Bu iyi bir soru. Cevabı buldum: Xcode 9 şimdi Editör menüsünde "Get Fetch Index" komutuna sahip. Bir varlık seçerseniz etkinleştirilir. Bu endekse birden fazla özellik ekleyerek bileşik endeksleri tanımlayabilirsiniz. – Dirk