es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Forma eficiente de almacenar múltiples datos en Postgres.

Necesito hacer un seguimiento de las tareas de los usuarios. Entonces se me ocurrieron algunas ideas, por favor sugiera cuál es eficiente y bueno. El usuario tiene alrededor de 6 tareas para completar cuando inician sesión por primera vez, digamos task1,task2.....task6. (Las tareas son susceptibles de cambiar en un futuro cercano)

Enfoque 1:
Crea una tabla con 10 columnas (4 columnas adicionales para seguridad si necesitamos extender más de 6 tareas)


Tabla UsuarioTareas:
task1 task2 task3 task4 ....... task9 task10

Enfoque 2:
Crea una tabla con tres columnas y agrega filas nuevas para cada tarea

Enfoque 3:
Crea una tabla con una matriz para almacenar todos los resultados de las tareas (como estoy usando Postgres)


Tabla UsuarioTareas:
id tarea fecha
1 [tarea1:Verdadero, tarea2:falso]

Enfoque 4:
Solo crea una tabla con VarChar y agrega datos personalizados. Por ejemplo, planeando agregar tarea1 si se completa y concatenar tarea2 si se completa


Tabla UsuarioTareas:
id tarea fecha
1 tarea1,tarea2,tarea3

Estas son las ideas que se han desarrollado, por favor ayúdame a elegir un buen enfoque. La cosa es que estos datos se LEERÁN con demasiada frecuencia. No habrá ninguna ELIMINACIÓN de estos datos. Un solo usuario probablemente leería estos datos al menos 10 veces cuando inicien sesión, por lo que el rendimiento es mi preocupación obvia.

Tags:  ,

Answer

  1. Avatar for davy.ai

    De las cuatro opciones mencionadas, la más eficiente y escalable sería el Enfoque 3 – Crear una tabla con una matriz para almacenar todos los resultados de las tareas.

    Este enfoque permite una fácil escalabilidad y modificación de las tareas en el futuro sin necesidad de agregar columnas adicionales a la tabla. También facilita la recuperación y actualización de tareas específicas en la matriz utilizando la funcionalidad de matriz de PostgreSQL.

    Además, dado que los datos se leerán con frecuencia y no se eliminarán, este enfoque sería óptimo para el rendimiento de lectura.

    Por lo tanto, se recomienda utilizar el Enfoque 3 para realizar seguimiento de las tareas del usuario de manera eficiente.

Comments are closed.