SQL でサポートされた CoreData インスタンスへのクエリを高速化しようとしています (日付で並べ替えられたレコードを表示します)。インデックス作成がクエリ時間の短縮に役立つことは知っていますが、次の違いは何ですか。
次に示すように、属性が属するエンティティを強調表示してから、コンマ区切りの属性リストをインデックス フィールドに追加します。
または、属性を強調表示してから、次のようにインデックス付きのボックスをチェックします。
SQL でサポートされた CoreData インスタンスへのクエリを高速化しようとしています (日付で並べ替えられたレコードを表示します)。インデックス作成がクエリ時間の短縮に役立つことは知っていますが、次の違いは何ですか。
次に示すように、属性が属するエンティティを強調表示してから、コンマ区切りの属性リストをインデックス フィールドに追加します。
または、属性を強調表示してから、次のようにインデックス付きのボックスをチェックします。
1 つの属性を持つ行をIndexes
リストに追加することIndexed
は、その属性を選択することと同じです。属性のインデックスを作成して、クエリ ステートメントでの検索を高速化します。
このIndexes
リストは、複合インデックス用です。WHERE
複合インデックスは、クエリの句で結合されたこれらの属性の値を検索することがわかっている場合に役立ちます。
SELECT * FROM customer WHERE surname = "Doe" AND firstname = "Joe";
このステートメントでは、複合インデックスを使用できますsurname, firstname
。このインデックスは、 を検索するだけの場合にも役立ちますがsurname
、 を検索するだけの場合には役立ちませんfirstname
。インデックスを電話帳のようなものと考えてください。最初に姓で、次に名でソートされます。したがって、属性の順序は重要です。
あなたの場合、最初に単一のインデックスを選択する必要があります(つまり、Indexed
検索したい属性を選択します)。babyId
たとえば、単に検索した場合、あなたが示した複合インデックスは決して使用できませんでした。