No luck in minimizing the sub queries -- it is difficult since we have to search across 2 tables for each attribute specified. Also looked into putting all attributes in one table with discriminators, but I didn't think it was worth it.

Did some performance testing on the current implementation. I do not notice any performance issues by adding a bunch of different attributes to filler by (adding more sub queries).

I'd say leave it as until it becomes an issue (if at all).