0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Couchbase Lite 機能解説:インデックス作成

Last updated at Posted at 2021-11-10

Couchbase Liteの機能全般について、以下の記事も合わせてご参照ください。

概要

インデックスを作成すると、クエリのパフォーマンスを高速化できます。クエリは、インデックスを利用して、ドキュメントのセットを絞り込むことができれば、より迅速に結果を返すことができます。

新しいインデックスの作成

次のデータモデルに含まれるtypenameプロパティを指定して新しいインデックスを作成します。

データモデル

{
    "_id": "hotel123",
    "type": "hotel", 
    "name": "Apple Droid"
}

インデックスを作成するコードは次のようになります。

Android
database.createIndex(
    "TypeNameIndex",
    IndexBuilder.valueIndex(
        ValueIndexItem.property("type"),
        ValueIndexItem.property("name")));
Swift
let index = IndexBuilder.valueIndex(items:
    ValueIndexItem.expression(Expression.property("type")),
    ValueIndexItem.expression(Expression.property("name")))
try database.createIndex(index, withName: "TypeNameIndex")

その他のメソッド

com.couchbase.lite.Databaseクラスには、下記の様なインデックス関連のメソッドがあります。

  • void createIndex(String name, Index index)
  • void deleteIndex(String name)
  • List getIndexes()

留意点

インデックスを計画するときは、インデックスによってクエリが高速化される一方で、次のことも行われる可能性があることに注意する必要があります。

  • ドキュメントが更新されるたびに各インデックスを更新する必要があるため、書き込みを少し遅くします

  • Couchbase Liteデータベースを少し大きくします。

  • インデックスが多すぎると、パフォーマンスが低下する可能性があります。最適なパフォーマンスは、クエリに合わせて適切なインデックスを設計および作成するかどうかに依存します。

関連情報

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?