Als je een miljoen tabellen in je database nodig hebt, doe je het verkeerd.
Tabellen zijn bedoeld om structureel en conceptueel verschillende gegevens weer te geven. En ik weiger te geloven dat je met een miljoen verschillende concepten in je applicatie werkt.
Soms vinden beginners dat ze bijvoorbeeld een tabel per gebruiker moeten maken. Maar "een gebruiker" is één concept en u slaat dezelfde informatie op voor elke gebruiker (naam, e-mail, gebruikersnaam, wachtwoord, bijvoorbeeld), dus het zou één moeten zijn tabel, waar elke gebruiker slechts een aparte rij is.
Het klinkt alsof je een soortgelijke fout maakt, misschien niet met gebruikers, maar met een andere abstractie waar je veel voorbeelden van hebt. Elke instantie zou een rij in één enkele tabel moeten zijn.
Als je ons beschrijft wat je probeert op te slaan in een database, kunnen we je vrijwel zeker helpen erachter te komen hoe het moet worden toegewezen aan tabellen.
Bewerken
na het lezen van uw opmerkingen (die eigenlijk in de vraag zelf moeten worden verwerkt), zijn hier mijn gedachten:
Als alle gegevens op dezelfde manier zijn gestructureerd (als triples), kunt u eenvoudig alles opslaan in een enkele tabel met drie kolommen en vervolgens de benodigde indexen toevoegen voor efficiënte opzoekingen.
Als alle predikaten van tevoren bekend zijn, zou maak een tabel per predikaat, maar ik weet niet echt zeker hoeveel zin dat zou hebben.
De schoonste optie zou waarschijnlijk zijn om 4 tabellen te hebben:(id, subject)
, (id, predicate)
, (id, object)
,(subjectid, predicateid, objectid)
.