W OSCON Wczoraj Josh Berkus dał dobry samouczek na temat projektowania DB i spędził sporą część tego bezlitośnie rozrywając takie „EAV "il table; wkrótce powinieneś być w stanie znaleźć jego slajdy na stronie OSCON, a ostatecznie nagranie audio całego jego samouczka online (to ostatnie prawdopodobnie trochę potrwa).
Będziesz potrzebować sprzężenia na atrybut (wiele wystąpień values
tabela, po jednym na atrybut, który pobierasz lub aktualizujesz), więc nie wiem, co masz na myśli przez „mniej dołączania tabel”. Łączenie wielu instancji tej samej tabeli nie jest szczególnie szybką operacją, a Twój projekt sprawia, że indeksy są prawie niewykonalne i bezużyteczne.
Przynajmniej jako drobne ulepszenie, używaj oddzielnych tabel dla poszczególnych typów dla wartości atrybutów (być może w takim przypadku można zastosować pewne indeksowanie, chociaż z ograniczeniem MySQL do jednego indeksu na zapytanie na tabelę, nawet to jest nieco wątpliwe).