sql >> Base de Datos >  >> RDS >> Mysql

MySQL almacena bordes de gráficos no dirigidos de manera eficiente

Es probable que esto esté demasiado desactualizado para ser útil, ¡pero lo publicaré en caso de que ayude a otras personas!

Almaceno gráficos no dirigidos como su segundo ejemplo y tengo la restricción de que node_a tiene que ser menor que node_b. Luego colocas trivialmente un UNIQUE restricción en el par y saber que los datos son consistentes. Las consultas tienen que funcionar un poco más al comparar node_a con el menor de {a,b} y node_b con el otro valor. PostgreSQL (la base de datos que mejor conozco) proporciona GREATEST() y LEAST() funciones que ayudan aquí.