La manera más eficiente de almacenar un orden arbitrario?

Actualmente estoy trabajando en una aplicación para Android donde los usuarios pueden ordenar su lista mediante arrastrar y soltar en cualquier orden que deseen. Por lo tanto, debo almacenar el orden en una variable en una columna. Estaba pensando en dar a cada fila un número como 100000, 200000, 300000, etc y si un usuario mueve un elemento entre 100000 y 200000, entonces su número de ordenación se convierte en el promedio de sus vecinos es decir 150000. De esta manera, sólo tengo que actualizar El número de clasificación de una sola fila en comparación con todas las filas de la tabla si hice un valor de orden normal i + 1.

¿Cuál es el más eficiente? ¿Utilizan grandes cantidades más recursos o toman más tiempo para ordenar? Espero solamente <100 filas así que si los números grandes tardan más en clasificarse, podría ser mejor usar números más pequeños y "restablecer" más a menudo (cuando dos números de clasificación convergen entre sí). Sé que con tan pocas filas, realmente no importa si sólo hice un método de clasificación i + 1 y actualizar cada fila en mi db cada vez. Pero también estoy sincronizando mis datos SQLite con un BAAS y la mayoría de ellos no permiten el ahorro por lotes. Así que para cada fila que modifico, tengo que hacer una solicitud de API. Es por eso que estoy tratando de minimizar la cantidad de filas que modificar cuando reordenar un elemento.

Cualquier ayuda sería apreciada.

Terminé usando mi método original de dar a cada fila un número como 100000, 200000, 300000, etc y si un usuario mueve un elemento entre 100000 y 200000, entonces su número de ordenación se convierte en el promedio de sus vecinos es decir 150000. Dado que el número De las filas que tengo es relativamente pequeño ~ 50, opté por este método que puede no ser el eficiente, pero es el más simple.

  • Cómo convertir MDB a SQLite en Android
  • Tratar una gran base de datos en Android
  • Consulta de SQLiteDatabase de Android con Regex
  • Se eliminó la base de datos de Sqlite cuando borro datos de la aplicación
  • Ver base de datos SQLite en el dispositivo en Android Studio
  • Mejor manera de acceder a la base de datos en la aplicación multi-threaded Android?
  • ¿Cómo puede obtener la parte superior de los registros de GreenDAO?
  • Consulta SQLite de Android y uso del cursor para tratar varias filas
  • Persistencia de entidades bidireccionales con Green-DAO
  • Copia de seguridad / restaurar sqlite db en android
  • NoClassDefFoundError al usar greenDao
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.