• Somewhat, but not that bad. Even so, because the EAV tables are usually very narrow (meaning, only a few columns), there's usually 1 or 2 indexes that do the job very efficiently. So, LEFT JOIN-ing the same table multiple times to essentially "PIVOT" the information horizontally has never been a huge performance hit for us because it always hits the Indexes in the execution plan as opposed to doing full table scnas for every JOIN. Now, you might get away with newer techniques in SQL 2005 being more effecient like the use of CTE's and the new PIVOT function (although I've never had huge success with the PIVOT function).

    I have since been using an Xml column for most of my EAV models now that SQL 2005 gives awesome support for breaking out Xml. But in a sense it's pretty much the same except there are no multiple JOINs.