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.

One Solution collect form web for “La manera más eficiente de almacenar un orden arbitrario?”

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.

  • Creación de tablas en la base de datos sqlite en android
  • Almacenar objetos personalizados (Obj definido por el usuario) en la base de datos SQLite de Android
  • Consulta de SQLiteDatabase de Android con Regex
  • Cómo comprobar la base de datos en el dispositivo Android no enraizada
  • Recuperar blob de gran tamaño de la base de datos Android sqlite
  • Consulta de actualización de base de datos SQLite con múltiples condiciones de ubicación en Android
  • NoClassDefFoundError al usar greenDao
  • Consulta SQLite desde varias tablas utilizando SQLiteDatabase
  • Cómo insertar marca de tiempo en una columna de base de datos SQLite? Utilizando el tiempo de función ('ahora')?
  • Tamaño máximo de Android Cursor
  • ¿Cómo obtengo el mejor rendimiento con SQLite en Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.