(日付でソートされたレコードを表示)CoreDataインスタンスを支持しました。私は、そのインデックスがクエリ時間を増やすことができます知っているが、違いは何だ:ここに見られるように、その後、インデックスフィールドに属性のカンマ区切りリストを追加し、属性が属するエンティティを強調CoreData。インデックスとインデックスの違いは何ですか?私は私のSQLへのクエリをスピードアップしているよ
は:
またはここに見られるように、次いで、インデックス付きのボックスをチェックし、属性を強調:
(日付でソートされたレコードを表示)CoreDataインスタンスを支持しました。私は、そのインデックスがクエリ時間を増やすことができます知っているが、違いは何だ:ここに見られるように、その後、インデックスフィールドに属性のカンマ区切りリストを追加し、属性が属するエンティティを強調CoreData。インデックスとインデックスの違いは何ですか?私は私のSQLへのクエリをスピードアップしているよ
は:
またはここに見られるように、次いで、インデックス付きのボックスをチェックし、属性を強調:
は単一ATTRIBを持つ行を追加Indexes
リストにUTEは、その属性のIndexed
を選択することと等価である:それは、クエリ文で検索をスピードアップするために属性のインデックスを作成します。
Indexes
リストは、化合物索引を意味します。
SELECT * FROM customer WHERE surname = "Doe" AND firstname = "Joe";
この文は、複合インデックスsurname, firstname
を利用することができます:あなたは、クエリのWHERE
句で結合これらの属性の値を検索されることを知ったときに複合インデックスが便利です。あなただけsurname
を検索した場合、しかし、あなただけfirstname
を検索していない場合は、そのインデックスにも有用であろう。索引を電話帳のように考える:最初に姓でソートし、次に名前でソートします。したがって、属性の順序は重要です。あなたが最初のシングルインデックスのために行く必要がありますあなたの場合は
(つまり、あなたが検索したい属性のIndexed
を選択します)。たとえば、babyId
を検索しただけでは、表示された複合インデックスは使用できませんでした。
、(重複)も参照の答えはhttp: //stackoverflow.com/a/8657785/3419541 – PDK
こんにちは、私は最新バージョンのXcodeでインデックスプロパティを見つけることができないとき、私は、テーブルのインデックスを追加するにはどうすればよいです。 – taitanxiami
@taitanxiamiそれは良い質問です。ちょうど答えを見つけました:Xcode 9はエディタメニューに "Add Fetch Index"コマンドを持っています。エンティティを選択すると有効になります。そのインデックスに複数の属性を追加することで複合インデックスを定義できます。 – Dirk
はWWDC 2017で、リンゴの代わりにFetch Index
(参照:https://developer.apple.com/videos/play/wwdc2017/210/?time=997)を使用して行うことにこれを更新し、それを追加するエンティティを選択し、Editor
に移動するには を - >Add Fetch Index
あなたはここからアイデアを得ることができます[コードから複合インデックスを設定しhttp://stackoverflow.com/questions/8562711/what-are-indexes-in-the-xcode-core-data-data-model-inspector] –