Если у меня есть объекты с атрибутом :fruit
:Сохранение порядка сущностей
apple
banana
grapes
tomato
и функция позволяет пользователю заказать его плоды:
1 grapes
2 apple
3 tomato
4 banana
Есть хороший способ для хранения фруктов заказать базу данных с ожиданием удаления фрукта, добавления фруктов и переупорядочения фруктов?
Наивное решение состоит в том, чтобы добавить колонку заказа. Проблема с этим - дорогостоящие обновления. Скажем, у меня есть компания: 1000000 durian
. Я вдруг решил, что это мои любимые фрукты и переместить его на вершину. Это приводит к тому, что фрукты 999999 требуют обновления заказа.
Это сообщение в блоге, которое дает код для выполнения именно этого дорогого обновления: http://augustl.com/blog/2013/ordering_cardinality_many_in_datomic/ –