sql >> Database >  >> RDS >> Mysql

Kritiek op mijn MySQL-databaseontwerp voor onbeperkte DYNAMISCHE velden

Op OSCON gisteren gaf Josh Berkus een goede tutorial over DB-ontwerp, en hij bracht een groot deel ervan genadeloos door in zulke "EAV "il tabellen; je zou zijn dia's binnenkort op de OSCON-site moeten kunnen vinden, en uiteindelijk de audio-opname van zijn hele tutorial online (de laatste zal waarschijnlijk een tijdje duren).

Je hebt een join per kenmerk nodig (meerdere exemplaren van de values tabel, één per attribuut dat u ophaalt of bijwerkt), dus ik weet niet wat u bedoelt met "minder join-tabellen". Het samenvoegen van veel instanties van dezelfde tabel is geen bijzonder snelle operatie, en uw ontwerp maakt indices bijna onhaalbaar en onbruikbaar.

Gebruik in ieder geval als kleine verbetering aparte tabellen per type voor de waarden van uw attributen (misschien is in dat geval enige indexering van toepassing, hoewel met de beperking van MySQL tot één index per query per tabel zelfs dat enigszins dubieus is).



  1. Hoe de max_allowed_packet size te veranderen

  2. Laravel:Hoe de laatste n (willekeurig aantal) rijen te nemen nadat ze in oplopende volgorde zijn besteld?

  3. Hoe u de grootte van een tabel in MySQL kunt krijgen

  4. Maak verbinding met Amazon RDS met PHP