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.

Múltiples tablas vs una tabla con más columnas

Mi base de datos elegida es MongoDB. Pero la pregunta debería ser independiente.

Por ejemplo, cada fila de registro tendrá una bandera que puede tener 1 de 2 valores posibles.

¿Cuáles son las ventajas y desventajas de:

  • Tener 1 tabla con una columna para contener el valor de esta bandera.

en comparación con:

  • Las ventajas y desventajas de:
  • Tener 2 tablas para contener los dos tipos diferentes de registros, distinguidos por la bandera mencionada anteriormente?
  • ¿Sería esto más barato en términos de almacenamiento, ya que no tiene esa columna adicional?
  • ¿Sería esto también más rápido en consultas, ya que sabe exactamente qué tabla buscar sin tener que realizar un filtro?

¿Cuál es la práctica común en la industria?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Hay pros y contras en ambos enfoques, y la mejor solución depende de los requisitos específicos y del contexto del proyecto. Aquí están algunas consideraciones:

    1 Tabla

    Pros

    • Diseño más simple: tener solo una tabla es más fácil de administrar y comprender.
    • Más flexible: si hay muchos tipos diferentes de indicadores, puede ser más práctico tenerlos todos en una tabla en lugar de crear múltiples tablas diferentes.
    • Más rápido de configurar: crear y mantener una tabla lleva menos tiempo y recursos.

    Contras

    • Consultas potencialmente más lentas: si hay muchos registros, las consultas que deben verificar el campo de indicador pueden llevar más tiempo, especialmente si el índice en ese campo no está optimizado.
    • Menos conciso: los registros que no necesitan el indicador pueden tener un valor nulo innecesario en el campo de indicador, ocupando espacio de almacenamiento.

    2 Tablas

    Pros

    • Consultas más rápidas: como cada tabla solo tiene registros con un valor de indicador específico, las consultas que solo necesitan registros con ese valor pueden omitir registros innecesarios en la otra tabla.
    • Almacenamiento más eficiente: los registros que no necesitan cierto indicador no tienen ese campo, ahorrando espacio.

    Contras

    • Diseño más complejo: tener dos tablas requiere un esquema más intrincado y relaciones entre ellas.
    • Menos flexible: agregar más valores de indicador requeriría crear más tablas, lo que podría volverse engorroso.
    • Más lento para configurar: crear dos tablas lleva más tiempo y recursos que crear una.

    En la industria, es común usar una mezcla de ambos enfoques, según el caso de uso específico. Cuando solo hay unos pocos indicadores o si no tienen un impacto significativo en el rendimiento, se puede utilizar una tabla. Cuando hay muchos registros y filtrar por indicador es una operación común, se pueden preferir varias tablas. En última instancia, la elección de diseño debe priorizar la legibilidad y mantenibilidad del código sobre cualquier optimización de almacenamiento o rendimiento.

Comments are closed.