• I have never seen an implementation of EAV that was not a complete disaster.

    Some of the main issues are:

    Hard to maintain domain integrity.

    Hard to maintain referential integrity.

    Extremely hard to enforce not null requirements.

    Queries take a long time to code and even longer to run.

    Updates can easily cause widespread blocking.

    All knowledge of the structure is contained only in the application, not in the data.