En OSCON ayer, Josh Berkus dio un buen tutorial sobre diseño de base de datos, y dedicó una buena parte de él a desgarrar sin piedad tales "EAV "il tables; pronto podrá encontrar sus diapositivas en el sitio de OSCON y, eventualmente, la grabación de audio de todo su tutorial en línea (este último probablemente llevará un tiempo).
Necesitará una unión por atributo (múltiples instancias de los values
tabla, uno por atributo que está obteniendo o actualizando), así que no sé a qué se refiere con "menos unir tablas". Unir muchas instancias de la misma tabla no es una operación particularmente rápida y su diseño hace que los índices sean casi inviables e inutilizables.
Al menos como una mejora menor, use tablas separadas por tipo para los valores de sus atributos (tal vez alguna indexación podría ser aplicable en ese caso, aunque con la limitación de MySQL a un índice por consulta por tabla, incluso eso es algo dudoso).