Я создаю базу данных для объектов событий, каждое событие имеет приоритет (длинный), который является уникальным. Объекты с более низкими значениями приоритета предпочтительны, новым объектам изначально присваиваются более высокие и более высокие приоритеты по мере увеличения объема объекта, но пользователь может переназначать приоритеты по своему усмотрению.Как реализовать уникальное поле приоритета в моей базе данных?
Мой вопрос: следует ли использовать только _ID в качестве поля приоритета? Я так понимаю, когда я их выбираю и помещаю в свой ArrayList в Java, мои события уже будут отсортированы по приоритету от максимума до минимума и избавят меня от необходимости искать. И в зависимости от того, какие алгоритмы SQLite фактически использует выбор по приоритету, может быть быстрее, так как это также индекс. Я новичок в SQL, и все это кажется мне хорошо и хорошо, но может быть и некоторый недостаток, который явственен кому-то более опытному.
Кроме того, я немного не понимаю, как будет работать вставка в середине таблицы, возможно, используйте функцию обновления, чтобы увеличить значение row_ids над ней, но как я могу убедиться, что она увеличивает их в правильном порядке? (чтобы не наступать друг на друга).
Нечто подобное ?:
UPDATE event_table SET priority = priority + 1 WHERE priority > ?
PS: Я делаю это на Android 2.2 в SQLite 3
Привет, сообщите нам, если вы сузили подход. :-) – user942640