База данных комнаты: Что такое столбцы для индексов (индексы и @Index) и как их использовать? - PullRequest
0 голосов
/ 26 февраля 2019

Я имел в виду отдельные столбцы Индекса базы данных комнаты.

Ниже приведен пример кода, который здесь написан https://developer.android.com/training/data-storage/room/defining-data#column-indexing

Пример кода-1:

    @Entity(indices = {@Index("name"),
        @Index(value = {"last_name", "address"})})
public class User {
    @PrimaryKey
    public int id;

    public String firstName;
    public String address;

    @ColumnInfo(name = "last_name")
    public String lastName;

    @Ignore
    Bitmap picture;
}

Пример кода-2:

@Entity(indices = {@Index(value = {"first_name", "last_name"},
        unique = true)})
public class User {
    @PrimaryKey
    public int id;

    @ColumnInfo(name = "first_name")
    public String firstName;

    @ColumnInfo(name = "last_name")
    public String lastName;

    @Ignore
    Bitmap picture;
}

Это описано в документации по комнате на Android, я использовал индексы для уникальности столбца, но что делаетприведенный выше код означает, что кто-нибудь может это объяснить?

Q1: Для чего нужны индексы и @Index?
Q2: В чем разница между @Index("name") и @Index(value = {"last_name", "address"})?

1 Ответ

0 голосов
/ 29 августа 2019

Индексирование - это процесс добавления индексов, которые используются для быстрого поиска данных без необходимости искать каждую строку в таблице базы данных каждый раз, когда к таблице базы данных запрашивается или осуществляется доступ.Room поддерживает индексирование определенных полей или индексирование группы полей с помощью свойства indexes для ускорения запросов.Вы можете проверить ссылку ниже для получения дополнительных знаний.

https://proandroiddev.com/exploring-room-architecture-component-the-extras-cf3f0259ceed

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...