sql >> Base de Datos >  >> RDS >> PostgreSQL

crear millones de tablas en una base de datos?

Si necesita un millón de tablas en su base de datos, lo está haciendo mal.

Las tablas están destinadas a representar datos estructural y conceptualmente diferentes. Y me niego a creer que está operando con un millón de conceptos diferentes en su aplicación.

A veces, los principiantes creen que deberían crear una tabla por usuario, por ejemplo. Pero "un usuario" es un concepto, y almacena la misma información para cada usuario (nombre, correo electrónico, nombre de usuario, contraseña, por ejemplo), por lo que debería ser uno tabla, donde cada usuario es solo una fila separada.

Parece que está cometiendo un error similar, tal vez no con los usuarios, pero con alguna otra abstracción de la que tiene muchas instancias. Cada instancia debe ser una fila en una sola tabla.

Si nos describe qué es lo que está tratando de almacenar en una base de datos, es casi seguro que podemos ayudarlo a descubrir cómo debería asignarse a tablas.

Editar
después de leer sus comentarios (que realmente deberían editarse en la pregunta misma), aquí están mis pensamientos:

Si todos los datos están estructurados de la misma manera (como triples), simplemente puede almacenar todo en una sola tabla con tres columnas y luego agregar los índices necesarios para búsquedas eficientes.

Si todos los predicados se conocen de antemano, podría hacer una tabla por predicado, pero no estoy realmente seguro de cuánto sentido tendría, incluso.

La opción más limpia probablemente sería tener 4 tablas:
(id, subject) , (id, predicate) , (id, object) ,(subjectid, predicateid, objectid) .