sql >> Database >  >> RDS >> Mysql

Beste manier met relatietabellen

De manier waarop u het heeft, is het meest optimaal wat de tijdsdruk betreft. Natuurlijk neemt het meer ruimte in beslag, maar dat maakt deel uit van ruimte-tijd-afweging - Als je sneller wilt zijn, gebruik je meer ruimte; als je minder ruimte wilt gebruiken, zal het langzamer werken (gemiddeld).

Denk ook aan de toekomst. Op dit moment selecteert u waarschijnlijk de landen voor elke gebruiker, maar wacht maar af. Dankzij de magie van scope creep, zal uw applicatie op een dag alle gebruikers in een bepaald land moeten selecteren, waarna het scannen van het veld "COUNTRY" van elke gebruiker om overeenkomsten te vinden ongelooflijk traag zal zijn, in plaats van gewoon achteruit te gaan door de USER_COUNTRY_REL tabel zoals je nu zou kunnen doen.

Over het algemeen kunt u voor een 1-op-1- of 1-op-veel-correlatie linken op externe sleutel. Voor een veel-op-veel-correlatie wilt u een relatietabel tussen de twee hebben. Dit scenario is een veel-op-veel-relatie, aangezien elke gebruiker meerdere landen heeft en elk land meerdere gebruikers.



  1. postgresql date_trunc naar willekeurige precisie?

  2. NULL-waarden zoeken voor ander Oracle-type

  3. Een gegeven lijst met waarden doorlopen in PL/pgSQL

  4. Wijzig beveiligingsgroep op AWS RDS-database-instantie