Будут ли выборки и чтения (наряду с их двоюродными братьями dirty_) возвращать записи в порядке сортировки первичного ключа, когда таблица имеет *ordered_set*? Другими словами, если мой выбор соответствует более чем одной записи, есть ли какие-либо гарантии в отношении порядка возвращаемых записей? Точно так же, если index_read используется и возвращает более одной записи, сортируются ли они каким-либо особым образом по отношению к первичному ключу.
Mnesia: при запросе таблицы order_set возвращаются ли записи в гарантированном порядке?
Ответы (1)
Краткий ответ: Да. Если вы используете order_set и сопоставляете несколько объектов, они будут упорядочены при возврате.
mnesia в значительной степени построена вокруг ets, и документация направит вас к руководству пользователя ERTS и руководству пользователя ets для деталей реализации.
Из руководства пользователя ets на select
:
В таблицах типа order_set объекты посещаются в том же порядке, что и при первом/следующем обходе. Это означает, что спецификация соответствия будет выполняться для объектов с ключами в первом/следующем порядке, и соответствующий список результатов будет в порядке этого выполнения.
person
Soup d'Campbells
schedule
08.01.2013